gpt4 book ai didi

winapi - 使用 Waveform Audio API Windows 从扬声器捕获声音

转载 作者:行者123 更新时间:2023-12-02 23:48:35 96 4
gpt4 key购买 nike

我想使用 Waveform Audio API 从扬声器捕获音频.

我搜索并找到了解释如何使用 Waveform Audio 从麦克风捕获音频并保存到文件或播放的帖子。但是,没有人解释如何从扬声器捕获音频。

我的理解是,如果我在 waveInOpen() 中提供播放设备的句柄然后我可以从扬声器捕捉声音。这是我需要帮助的地方。如何获取播放设备的句柄?当我提供 WAVE_MAPPER (or 0) for uDeviceID ,它总是从麦克风录制。如果我设置任何其他值,我总是会出现超出范围的错误。

编辑:

自从我发布问题以来,我做了更多的研究。我找到了可用于音频捕获的其他选项/API。我需要帮助来指出正确的方向,该方向用于从扬声器捕获音频。我不想要任何涉及大量代码的花哨的东西。我的目标操作系统是 XP 及以上。

WaveInOpen 和混音器:

对这些链接的评论/讨论暗示 waveInOpen()可用于从扬声器中获取音频。根据这些,必须打开Mixer。我用过mixerOpen()获得 blender handle ,但不知道如何将此 handle 与 waveInOpen() 一起使用.

How do I capture the audio that is being played?

Sound from mic vs sound from speaker

XAudio2:

我可以使用 XAudio2 从扬声器捕获音频吗?如果是,那么请分享一些示例代码。

最佳答案

API 不是为该用例设计的。扬声器输出是一个输出设备,由 waveOutOpen 访问.一种解决方法是安装虚拟声卡,如 the one at this like这将允许您将音频输出重定向回音频输入。

关于winapi - 使用 Waveform Audio API Windows 从扬声器捕获声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27992964/

96 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com