我想检测我的电脑是否播放任何类型的音频(音乐/电影) 我写了一个应用程序,通知我我的Twitter更新。现在我想添加一个语音合成,但我只想播放没有音乐或电影播放的消息。
虽然我正在使用C#,但我不介意使用C ++进行检测然后进行集成。
所以问题是:
1)如何检测音频输出?
2)什么是最好的Windows自由语音合成库?
答案 0 :(得分:1)
经过一段时间查看MSDN后,我找到了解决方案。
使用环回录制,您可以聆听输出到音频输出设备的内容。
http://msdn.microsoft.com/en-gb/library/windows/desktop/dd316551(v=vs.85).aspx
此链接还引用了如何捕获流的示例:
http://msdn.microsoft.com/en-gb/library/windows/desktop/dd370800(v=vs.85).aspx
在这里,您可以通过调用:
获取示例中所示的缓冲区数据pCaptureClient-> GetBuffer(...)
然后你要做的就是检查这些字节的值。如果他们都是0,那么没有什么可玩的..
对于语音合成,我使用了SpeechSynthesizer .NET类
http://msdn.microsoft.com/en-us/library/system.speech.synthesis.speechsynthesizer.aspx