基本上,我需要的是一种利用当前音频输出并检查声音级别的方法,即我需要能够检查音频设备上是否正在播放某些东西。
我不需要检查音量设置,而是实际播放音频流的音量。
抱歉,我问的是如何在 Windows 中的 Visual Studio 2008 上进行操作。
@mikerobi:这是我推理的一部分——如果它显示在系统音量计上,则必须有一个系统调用可以将其取回
最佳答案
这是一个有用的 Windows API 调用链接,这正是您要查找的内容:
http://www.pinvoke.net/default.aspx/winmm.waveOutGetVolume
由于要求发生了变化并且您不需要音频级别,我建议以下可能会有所帮助:
我认为您需要读取输出流上正在播放的内容,并通过分析某些算法中的数据,您可能能够确定是否正在播放某些内容。为此,您需要 MMDevice API
http://msdn.microsoft.com/en-us/library/dd316556(v=VS.85).aspx
我不想让您失望,但请相信我,如果您不熟悉非托管代码,这将不是一件容易的事。
- 您必须在每次调用中填写许多结构。
- 您必须按特定顺序执行调用。
- 编码对结构的引用。
即使你做到了,你也无法预测设备的结果行为。 祝你好运。
关于c# - 如何以编程方式获取当前音频电平?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3992798/