【问题标题】:Getting the speaker audio signal and then streaming it out获取扬声器音频信号,然后将其输出
【发布时间】:2010-11-09 09:45:15
【问题描述】:

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

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

谢谢!

克里斯

【问题讨论】:

  • 我也对答案感兴趣

标签: windows macos audio audio-streaming


【解决方案1】:

在 Windows XP 上,这根本不是一件小事,因为不编写音频过滤器驱动程序就无法截获输出信号(这对于胆小的人来说不是什么事情)。

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

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

虽然我不知道如何在 OSX 上做等价:(。

【讨论】:

  • 酷。我可以要求 Vista。你知道这在 Windows 7 中是否仍然可用?
  • 看起来 WASAP API 需要 DRM 免费源。有道理,但希望能够流式传输受 DRM 保护的文件,因为这并不意味着向许多人广播,而只是向您自己在另一台设备上广播。
  • 如果您想规避音频 DRM,您可以将硬件输出缩短到硬件音频输入并进行广播。否则,请使用不支持 DRM 的系统 :)
  • voyager:当然,如果您使用的系统不支持 DRM,那么您将无法播放 DRM 的内容。 ChrisH:您应该能够回送 DRM 内容 - 回送过程中样本质量会下降,但它应该仍然可以工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-04
  • 1970-01-01
  • 2014-10-31
  • 2011-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多