我希望仅为我的 WPF 应用程序静音,并让整个混音器保持用户设置的状态。
我可以使用以下代码将系统范围的声音静音/取消静音。
但是我注意到当我的应用程序正在运行并且正在播放声音时,我的应用程序出现在 Windows 混音器中,我可以通过混音器的 UI 将我的应用程序静音/取消静音,所以我的应用程序似乎应该可以通过编程方式执行此操作。
private const int APPCOMMAND_VOLUME_MUTE = 0x80000;
private const int WM_APPCOMMAND = 0x319;
[DllImport("user32.dll")]
public static extern IntPtr SendMessageW(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);
SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle, (IntPtr) APPCOMMAND_VOLUME_MUTE);