こんにちは、この古いトピックをちょうど間違えたが、まったく同じ問題を削っている。
私は、次を使用して解決:ミュートは常にオーディオをミュートしません
using System.Runtime.InteropServices;
...
[DllImport("user32.dll", CharSet = CharSet.Auto)]
static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam);
private const int APPCOMMAND_VOLUME_MUTE = 0x80000;
private const int APPCOMMAND_VOLUME_UP = 0xA0000;
private const int APPCOMMAND_VOLUME_DOWN = 0x90000;
private const int WM_APPCOMMAND = 0x319;
...
// mute (toggle)
SendMessage(this.Handle, WM_APPCOMMAND, this.Handle, (IntPtr)APPCOMMAND_VOLUME_MUTE);
// unmute
SendMessage(this.Handle, WM_APPCOMMAND, this.Handle, (IntPtr)APPCOMMAND_VOLUME_UP);
SendMessage(this.Handle, WM_APPCOMMAND, this.Handle, (IntPtr)APPCOMMAND_VOLUME_DOWN);
、それはトグルだ - しかし、あなたが最初に「ミュート解除」を呼び出すようにしてください場合は、金色でなければなりません。
敬具 クルト
受け入れ答えに、http://stackoverflow.com/questions/294292この質問をチェックしてください 'IsMuted' – RRUZ
と呼ばれる方法を存在するはい、答えであるように思われます。コメントに記載されているように、互換モードが有効な場合のみ動作します。 –