18

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

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

在此处输入图像描述

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

4

1 回答 1

5

我相信通信应用程序正在实现与IAudioVolumeDuckNotification接口相关的东西。C++ 示例还提供了可能足够的参考WM_VOLUME_DUCKWM_VOLUME_UNDUCKWindows 消息(但似乎不是 google-able 或文档化的)。

更新

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

更新

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

于 2012-01-16T20:42:34.920 回答