WPF MediaElement和WinMM

时间:2013-02-26 18:38:58

标签: wpf winapi mediaelement winmm

我已经学会了关于WinMM的所有内容(打开/关闭混音器,枚举控件等)。我感到难过的是,似乎WPF的MediaElement通过WinMM忽略了我的设置,但Window的Volume Mixer显示我是正确的更改设置。

所以我可以用我的控件基本上静音音量,看它在音量混音器中静音,播放声音并听到它,然后双击音量混音器中的静音按钮,播放声音而不听。< / p>

通过Window的Volume Mixer完成的工作不仅仅是WinMM api调用,而是显示器正在使用WinMM设置。

我有什么遗失的吗?

我已经使用过每一行,只有Speaker / WaveOut工作。我从线上获得音量和静音控制,两者都有相同的效果。

这只是造成这种情况的MediaElement。如果我通过WinMM播放声音或嵌入了本机控件或资源管理器,我可以使用音量控制将其静音。

我的第一个理论是因为我在Windows7中进行测试,MediaElement被分配到一个单独的会话而不是应用程序的默认会话,并且Volume Mixer会以某种方式影响应用程序中的所有会话。在这一点上,我必须根据操作系统选择是使用WinMM还是WASAPI。如果这是真的,那么WinMM确实不像Windows声称的那样支持(为了向后兼容),但也许它们意味着旧技术(如Winforms和AFX / MFC)。

编辑: 我正在使用此答案的代码: https://stackoverflow.com/a/294525/491837

0 个答案:

没有答案