获取扬声器音频信号然后将其流出

时间:2009-07-09 14:25:37

标签: windows macos audio audio-streaming

我正在尝试构建我认为是基本的应用程序。好吧,两个应用程序一个用于Windows,一个用于OS X.我想捕获正在播放的音频信号(即,如果用户正在播放他/她的扬声​​器音乐)。然后取出该信号并将其流出,以便另一台计算机可以“收听”。另一台计算机是Windows或OS X.

  1. 有关如何获取音频信号的任何想法?
  2. 在没有第三方插件的情况下流式传输音频的最有效方法是什么?如果有一个开源解决方案,我会感兴趣。
  3. 谢谢!

    克里斯

1 个答案:

答案 0 :(得分:3)

在Windows XP上,这根本不是微不足道的,因为没有编写音频过滤器驱动程序就无法拦截输出信号(对于胆小的人来说,这不是一些标志)。

在Windows Vista及更高版本中,您可以使用WASAPI API(内置于Windows中以便它们免费)捕获音频引擎的输出,并使用AUDCLNT_STREAMFLAGS_LOOPBACK标志初始化音频客户端。这将为您提供一个连接到音频引擎输出的捕获流。

然后,您可以打包该音频并将其发送到另一台机器,并使用您想要的任何音频渲染API进行渲染。

我不知道如何在OSX上进行等效操作:(。