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;

  

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

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить