Я искал способ проверить, отключен ли звук в моей системе или нет, и все, что я могу придумать, это:
NAudio.CoreAudioApi.MMDeviceEnumerator devenum = new NAudio.CoreAudioApi.MMDeviceEnumerator();
NAudio.CoreAudioApi.MMDevice device = devenum.GetDefaultAudioEndpoint(NAudio.CoreAudioApi.DataFlow.Render, NAudio.CoreAudioApi.Role.Multimedia);
if (device.AudioEndpointVolume.Mute == true)
{
return true;
SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle,
(IntPtr)APPCOMMAND_VOLUME_MUTE);
}
else
{
return false;
SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle,
(IntPtr)APPCOMMAND_VOLUME_MUTE);
}
Переключатель отключения звука работает нормально, но
NAudio.CoreAudioApi.MMDeviceEnumerator devenum = new NAudio.CoreAudioApi.MMDeviceEnumerator();
NAudio.CoreAudioApi.MMDevice device = devenum.GetDefaultAudioEndpoint(NAudio.CoreAudioApi.DataFlow.Render, NAudio.CoreAudioApi.Role.Multimedia);
выдает ошибку: Unable to cast object of type 'System.__ComObject' to type 'NAudio.CoreAudioApi.Interfaces.MMDeviceEnumeratorComObject'.
после того, как я попробую использовать это.
Примечание: я новичок, и мне нужно время, чтобы понять даже самые простые вещи.