3

我想编写一个程序,允许用户在他们的麦克风(录音设备)中播放声音片段,以便他们可以在他们的 PC 上使用 VOIP 软件(例如 Ventrillo 或 Skype)时将片段与他们的声音混合。当我说在他们的麦克风中播放声音片段时,我的意思是用户按下一个按钮,声音片段就会播放,用户和 VOIP 连接另一端的人都能听到。在 Windows 上可以使用哪些 API 函数来执行此操作?

4

1 回答 1

0

没有“将声音播放到麦克风”的标准 API。也就是说,当应用程序想要捕获音频并使用 API 来获取音频源时,没有定义标准方法来挂钩此过程并即时更新捕获的音频。除此之外,还有几个音频 API 存在很大差异。

因此,将声音播放到播放设备很容易,并且是典型的音频 API 任务,在这个问题的上下文中甚至不值得特别注意。更改捕获的音频馈送通常是捕获应用程序的任务。一旦它捕获了数据,应用程序就可以自由地对其进行修改,特别是在其中混合额外的馈送。

现在,如果您的请求是更改第三方支持音频的应用程序(例如 Skype)的行为,但无法直接连接到音频管道,您通常希望实现一个虚拟音频捕获设备,该设备可以灵活地自行生成提要混合真实捕获的数据和其他内容。如果第三方应用程序设置为从此类虚拟设备记录,它会直接从您的设备/组件开始有效地获取数据。由于存在多个 API,并且各种应用程序使用不同的 API 来捕获音频,因此创建虚拟音频设备的任务变得复杂,根据 API,创建虚拟设备可能或多或少困难。

于 2013-02-05T11:11:34.583 回答