DELPHI FAQ: Как получить/изменить громкость?
Как получить/изменить громкость?
Previous
Home
Next
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
http://www.baltsoft.com/
DELPHI FAQ