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