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);