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
00);
  // 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
00);
  vol := volL + volR shl
 16;
  // set volume

  waveOutSetVolume(hWO, vol);
  waveOutClose(hWO);
end
;

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







DELPHI FAQ




EOMY TOP 100      Рейтинг@Mail.ru      Rambler's Top100