Overigens hadden we hier al een complete functie gegeven die je kunt gebruiken:
http://www.nldelphi.com/showthread.p...l=1#post343528
Delphi Code:
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;
procedure TForm1.Button1Click(Sender: TObject);
var
LVol, RVol: DWORD;
begin
if GetWaveVolume(LVol, RVol) then
begin
Showmessage(format('Rechts = %d, Links = %d', [LVol, RVol]));
end;
end;
Verder zag ik daar een functie-aanroep:
Delphi Code:
WaveOutSetVolume(NumDev, LongInt((Volume.Position) * 4369) * 65536 + 0);
(en nog wat van die aanroepen in SetVol)
Ik heb dan ook het sterk vermoeden dat je, voordat je bij deze genoemde code aankomt, de volume voor rechts al op 0 gezet hebt.
Bookmarks