Как получить/изменить громкость?

Previous  Top  Next

    
 

 

 

Code:

procedure GetVolume(var volL, volR: Word);

var

hWO: HWAVEOUT;

waveF: TWAVEFORMATEX;

vol: DWORD;

begin

volL := 0;

volR := 0;

// init TWAVEFORMATEX

FillChar(waveF, SizeOf(waveF), 0);

// open WaveMapper = std output of playsound

waveOutOpen(@hWO, WAVE_MAPPER, @waveF, 0, 0, 0);

// get volume

waveOutGetVolume(hWO, @vol);

volL := vol and $FFFF;

volR := vol shr 16;

waveOutClose(hWO);

end;

 

procedure SetVolume(const volL, volR: Word);

var

hWO: HWAVEOUT;

waveF: TWAVEFORMATEX;

vol: DWORD;

begin

// init TWAVEFORMATEX

FillChar(waveF, SizeOf(waveF), 0);

// open WaveMapper = std output of playsound

waveOutOpen(@hWO, WAVE_MAPPER, @waveF, 0, 0, 0);

vol := volL + volR shl 16;

// set volume

waveOutSetVolume(hWO, vol);

waveOutClose(hWO);

end;

 

 

©Drkb::02260

Взято с Delphi Knowledge Base: http://www.baltsoft.com/