如何编写软件来播放录制到录制设备中的声音片段?

时间:2013-02-01 15:47:00

标签: windows winapi audio audio-capture

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

1 个答案:

答案 0 :(得分:0)

没有标准的API可以播放麦克风"。也就是说,当应用程序想要捕获音频并且他们使用API​​来获取音频源时,没有定义的标准方法可以挂钩到此过程并动态更新捕获的音频。除此之外,还有一些音频API存在很大差异。

播放设备的声音非常简单,是典型的音频API任务,在这个问题的背景下甚至不值得特别关注。改变捕获的音频馈送通常是捕获应用程序的任务。一旦捕获数据,应用程序就可以自由地修改它,特别是将其他数据混合到其中。

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