Wie überprüfe ich, ob die System-Master-Lautstärke stummgeschaltet oder nicht stummgeschaltet ist?
Ich verwende diesen Code, um die System-Master-Lautstärke ein- oder auszuschalten:
const
APPCOMMAND_VOLUME_MUTE = $80000;
WM_APPCOMMAND = $319;
procedure TForm1.Button1Click(Sender: TObject);
begin
// toggle mute/unmute
SendMessageW(Handle, WM_APPCOMMAND, Handle, APPCOMMAND_VOLUME_MUTE);
end;
(Habe den Code vonhttps://stackoverflow.com/a/154128/1140885)
Es funktioniert gut auf XP (Habe es noch nicht auf Win7 getestet).
Ich brauche eine Methode, umprüfen (get) was ist der aktuelle "Mute" -Status? Ist es stumm oder nicht?
Irgendwelche Ideen?
Update: FürXP Am Ende habe ich den Code von hier verwendet:Wie bekomme ich das Master Volume in Windows XP? (Danke an @Sertac Akyuz)
Ich musste nur eine einzige Zeile ändern:
mxlc.dwControlType := MIXERCONTROL_CONTROLTYPE_VOLUME;
zu:
mxlc.dwControlType := MIXERCONTROL_CONTROLTYPE_MUTE;
Rückgabewert ist entweder 0 (nicht stumm) oder 1 (stumm).