¿Cómo verificar si el volumen maestro del sistema está silenciado o no?
Estoy usando este código para silenciar / anular el silencio del volumen maestro del sistema:
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;
(Conseguí el código dehttps://stackoverflow.com/a/154128/1140885)
Funciona bien en XP (aún no lo probé en Win7).
Necesito un metodo paracomprobar (obtener) ¿cuál es el estado actual de "silencio"? ¿Es mudo o no?
¿Algunas ideas?
Actualización: paraXP Terminé usando el código de aquí:¿Cómo obtener el volumen maestro en windows xp? (Gracias a @Sertac Akyuz)
Tuve que cambiar una sola línea:
mxlc.dwControlType := MIXERCONTROL_CONTROLTYPE_VOLUME;
a:
mxlc.dwControlType := MIXERCONTROL_CONTROLTYPE_MUTE;
el valor de retorno es 0 (no silencio) o 1 (silencio).