如何使我的应用程序被视为Windows中的通信程序

时间:2012-01-16 19:21:36

标签: c# .net windows audio directsound

我正在制作一个使用语音库的程序,当女士说话时我想让所有其他声音变得柔和或减少。

我一直在寻找一种手动静音其他应用程序的方法,但我在Windows的通讯选项卡(声音选项内)中看到了一个选项,提到该窗口可以为我管理。就像在这张图片中一样:

enter image description here

基本上,我的应用程序被视为通信应用程序(例如Skype)需要什么?

1 个答案:

答案 0 :(得分:5)

我相信通信应用正在实现与IAudioVolumeDuckNotification界面相关的内容。 C ++示例还提供了引用WM_VOLUME_DUCKWM_VOLUME_UNDUCK窗口消息,这些消息可能已足够(但似乎不具备google功能或记录在案)。

<强>更新

CodePlex上的.NET Core Audio API project似乎提供了一个.NET包装器。

<强>更新

可以在MSDN DuckingMediaPlayer示例应用程序中找到IAudioVolumeDuckNotification的示例C ++实现以及通知ducked状态的示例。它确实有效(我试过)。 PInvoke的几个方法和界面的.NET包装器的组合应该足以让你顺利上路。