Mega Code Archive

 
Categories / Delphi / Multimedia
 

Wave volum kontrolü

attila_t2000@yahoo.co.uk Wave Volum Kontrolü uses MMSystem; function GetWaveVolume(var LVol: DWORD; var RVol: DWORD): Boolean; var WaveOutCaps: TWAVEOUTCAPS; Volume: DWORD; begin Result := False; if WaveOutGetDevCaps(WAVE_MAPPER, @WaveOutCaps, SizeOf(WaveOutCaps)) = MMSYSERR_NOERROR then if WaveOutCaps.dwSupport and WAVECAPS_VOLUME = WAVECAPS_VOLUME then begin Result := WaveOutGetVolume(WAVE_MAPPER, @Volume) = MMSYSERR_NOERROR; LVol := LoWord(Volume); RVol := HiWord(Volume); end; end; function SetWaveVolume(const AVolume: DWORD): Boolean; var WaveOutCaps: TWAVEOUTCAPS; begin Result := False; if WaveOutGetDevCaps(WAVE_MAPPER, @WaveOutCaps, SizeOf(WaveOutCaps)) = MMSYSERR_NOERROR then if WaveOutCaps.dwSupport and WAVECAPS_VOLUME = WAVECAPS_VOLUME then Result := WaveOutSetVolume(WAVE_MAPPER, AVolume) = MMSYSERR_NOERROR; end; procedure TForm1.Button1Click(Sender: TObject); var LVol: Word; RVol: Word; begin LVol := SpinEdit1.Value; // max. is 65535 RVol := SpinEdit2.Value; // max. is 65535 SetWaveVolume(MakeLong(LVol, RVol)); end; procedure TForm1.Button2Click(Sender: TObject); var LVol: DWORD; RVol: DWORD; begin if GetWaveVolume(LVol, RVol) then begin SpinEdit1.Value := LVol; SpinEdit2.Value := RVol; end; end;