如何收听 Windows 当前正在播放的声音?

Posted

技术标签:

【中文标题】如何收听 Windows 当前正在播放的声音?【英文标题】:How to listen to the sound that Windows is currently playing? 【发布时间】:2020-02-14 16:27:58 【问题描述】:

我想构建一个应用程序来“收听”Windows(7 到 10)当前可能正在播放的任何声音(Winamp、Web 浏览器中的 Youtube 等)。 我不想截取、修改或重定向声音。只是听它并分析它。

我宁愿只听音乐来源...但这是另一个问题 :)

有什么 API 可以做到这一点?

【问题讨论】:

暂时不想欺骗,但是maybe this? 有four good linked answers更专注。您是否在 90 秒内全部阅读完毕? 我需要一个解决问题的方法,所以当然,我会搜索所有这些以希望得到答案。我在上面。 This one 从您想要到达的点开始 - 从 WASAPI 获取输出组合,但希望获得单个应用程序的流。自然地,我们可以得出结论,WASAPI 可能会为您提供您想要的混合输出。 另见:MSDN : Loopback Recording 【参考方案1】:

如果您只是想从 WASAPI 获取输出组合,您可以按照 MSDN 上的Loopback Recording 指南进行操作。如果您只对挂钩来自特定应用程序的输出感兴趣,this question 有许多已经涉及该主题的答案。

对于环回录制,请注意有关 DRM 的注意事项:

Windows Vista 提供数字版权管理 (DRM)。内容提供商依靠 DRM 保护其专有音乐或其他内容免遭未经授权的复制和其他非法使用。 WASAPI 不允许环回记录包含受 DRM 保护的内容的数字流。同样,受信任的音频驱动程序不允许环回设备捕获包含受保护内容的数字流。 Windows Vista 仅允许受信任的驱动程序播放受保护的内容。

【讨论】:

[DRM] 嗯...这可能意味着 YouTube? @HappyBirthdayDelphi_25 是的,我相信 youtube 在其内容中确实支持(并使用)DRM - 我不确定这是否会排除上述环回录制,但我不会感到惊讶。跨度> 它可能不包括 YouTube大部分时间,但我敢打赌它确实包括 Netflix。 @user253751 我承认我真的不知道。 YouTube 多年来一直在玩弄 DRM - 主要是为了标记和捕捉盗版重新上传,但我不确定他们是否可能对所有视频进行 DRM 以防止环回抓取等。应该很容易测试。

以上是关于如何收听 Windows 当前正在播放的声音?的主要内容,如果未能解决你的问题,请参考以下文章

如何直接在 android 上从扬声器播放声音 instaed Headset?

如何检测声音当前正在 Linux 中播放?

如何在 python (Windows) 中播放声音

IOS如何在后台播放音乐声音并暂停当前播放的音乐应用程序

我正在制作我的作品集,我想使用 Spotify API 来显示我当前正在收听的内容,但不想使用“播放”按钮

录制失败时播放声音