我想使用Waveform Audio API
.
我搜索并找到了解释如何使用 Waveform Audio 从麦克风捕获音频并保存到文件或播放的帖子。但是,没有人解释如何从扬声器捕获音频。
我的理解是,如果我提供播放设备的句柄,waveInOpen()
那么我可以从扬声器中捕捉声音。这是我需要帮助的地方。如何获取播放设备的句柄?当我提供WAVE_MAPPER (or 0) for uDeviceID
时,它总是从麦克风录制。如果我设置任何其他值,我总是会出现超出范围的错误。
编辑:
自从我发布问题以来,我做了更多的研究。我找到了可用于音频捕获的其他选项/API。我需要帮助来指出正确的方向,该方向用于从扬声器捕获音频。我不想要任何涉及大量代码的花哨的东西。我的目标操作系统是 XP 及以上。
WaveInOpen 和混音器:
对这些链接的评论/讨论提示waveInOpen()
可用于从扬声器中获取音频。根据这些,必须打开Mixer。我曾经mixerOpen()
得到搅拌机手柄,但不知道如何使用这个手柄waveInOpen()
。
XAudio2:
我可以使用 XAudio2 从扬声器捕获音频吗?如果是,那么请分享一些示例代码。