C++ 检测音频输出+;关于建立语音合成库的建议

C++ 检测音频输出+;关于建立语音合成库的建议,c++,windows,audio,speech-synthesis,C++,Windows,Audio,Speech Synthesis,我想检测我的电脑是否正在播放任何类型的音频(音乐/电影或任何内容)。 我写了一个应用程序,通知我我的twitter更新。现在我想给它添加一个语音合成,但我只想在没有音乐或电影播放的情况下播放消息 虽然我使用C++,但我不介意用C++来进行检测,然后将其集成。 因此,问题是: 1) 如何检测音频输出? 2) windows上最好的自由语音合成库是什么?浏览MSDN一段时间后,我找到了解决方案 使用环回录音,您可以收听输出到音频输出设备的内容 此链接还引用了如何捕获流的示例: 在这里,您可以通过

我想检测我的电脑是否正在播放任何类型的音频(音乐/电影或任何内容)。
我写了一个应用程序,通知我我的twitter更新。现在我想给它添加一个语音合成,但我只想在没有音乐或电影播放的情况下播放消息

<>虽然我使用C++,但我不介意用C++来进行检测,然后将其集成。 因此,问题是:

1) 如何检测音频输出?

2) windows上最好的自由语音合成库是什么?

浏览MSDN一段时间后,我找到了解决方案

使用环回录音,您可以收听输出到音频输出设备的内容

此链接还引用了如何捕获流的示例:

在这里,您可以通过调用以下命令获取示例中所示的缓冲区数据:

pCaptureClient->GetBuffer(…)

然后,您所要做的就是检查这些字节的值。如果它们都是0,那么就没有什么可玩的

对于语音合成,我使用SpeechSynthesizer.NET类