Pac*_*ane 18 .net c# windows audio directsound
我正在制作一个使用语音库的程序,当女士说话时,我想让所有其他声音变得柔和或减弱.
我一直在寻找一种手动静音其他应用程序的方法,但我在Windows的通信选项卡(声音选项内)中看到了一个选项,提到该窗口可以为我管理这个.就像在这张图片中:
基本上,我的应用程序被视为通信应用程序(如Skype)需要什么?
我相信通信应用正在实现与IAudioVolumeDuckNotification
界面相关的东西.C++示例还提供了引用WM_VOLUME_DUCK
和WM_VOLUME_UNDUCK
窗口消息,这些消息可能已足够(但似乎不具备google功能或记录在案).
UPDATE
CodePlex上的.NET Core Audio API项目似乎提供了.NET包装器.
UPDATE
可以在MSDN 示例应用程序中找到示例C++实现IAudioVolumeDuckNotification
以及通知ducked
状态的DuckingMediaPlayer
示例.它确实有效(我试过).PInvoke的几个方法和界面的.NET包装器的组合应该足以让你顺利进行.