Registriert seit: 4. Sep 2004
1.465 Beiträge
Delphi 10.4 Sydney
|
AW: Get/Set Master Volume Lautstärke?
14. Okt 2023, 21:11
gefunden...
Code:
uses MMSystem;
...
procedure GetWaveVolume(var volL, volR: DWord);
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 SetWaveVolume(const volL, volR: DWord);
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;
Diesem Irrtum bin ich vorher auch verfallen: Das betrifft nicht den Wert von MASTER VOLUME, sondern den Volume-Wert des eigenen Programms.
Kannst du in Settings -> App volume and device preferences genau beobachten.
Danke jedenfalls für deinen Beitrag! Much appreciated!
Geändert von PeterPanino, damit der Platz auf dem Bildschirm nicht so leer aussieht.
Geändert von PeterPanino (14. Okt 2023 um 21:32 Uhr)
|
|
Zitat
|