also ich änder das MasterVolume immer über MMSystem:
Delphi-Quellcode:
uses
{...} MMSystem
//...
procedure SetVolume(const volL, volR: Word);
var
hWO: HWAVEOUT;
waveF: TWAVEFORMATEX;
vol: DWORD;
begin
FillChar(waveF, SizeOf(waveF), 0);
waveOutOpen(@hWO, WAVE_MAPPER, @waveF, 0, 0, 0);
vol := volL + volR shl 16;
waveOutSetVolume(hWO, vol);
waveOutClose(hWO);
end;
Keine Ahnung, ob das schneller ist, als dein Code...