【问题标题】:Stream music from streaming platform (Deezer, Spotify, Soundcloud) to Web Audio API将音乐从流媒体平台(Deezer、Spotify、Soundcloud)流式传输到 Web Audio API
【发布时间】:2020-05-07 22:28:24
【问题描述】:

你们中有人知道获取音乐平台的音频流并将其插入 Web Audio API 的方法吗?

我正在做一个基于 Web Audio API 的音乐可视化工具。它目前从我电脑的麦克风中读取声音并处理实时可视化。如果我播放音乐的声音足够大,我的可视化就会起作用!

但现在我想继续并读取来自我的计算机的声音,以便可视化仅呈现音乐而不呈现其他声音,例如人们聊天。 我知道我可以在该 API 中缓冲 MP3 文件,它会完美运行。但在 2020 年,流媒体音乐非常普遍,通过 DeezerSpotifySouncloud 等。

我知道他们都有一个 API,但他们通常提供一个 SDK,您只能在其中“播放”音乐。无法轻松访问音频数据流。 也许我错了,这就是我请求你帮助的原因。

谢谢

【问题讨论】:

  • 我想要一个平台无关的解决方案。另一个问题的答案只是我想要的开始:播放完整的播放列表并进行可视化

标签: spotify audio-streaming soundcloud web-audio-api deezer


【解决方案1】:

将音乐流式传输到 WebAudio 的方法是使用 MediaElementAudioSourceNodeMediaStreamAudioSourceNode。但是,除非您被允许访问数据,否则这些节点将输出零。这意味着您必须在您的端正确设置 CORS 属性,并且还需要服务器允许通过 CORS 进行访问。

谷歌搜索将有助于设置 CORS。但许多网站不允许访问,除非您拥有正确的权限。那你就倒霉了。

【讨论】:

  • 感谢您的回答。这就是我的想法:未经他们同意,我无法访问那些平台的数据流(CORS)
【解决方案2】:

我发现了一个“无代码”的解决方法。至少在 Ubuntu 18.04 上,我可以告诉 Firefox 将我的扬声器作为“麦克风输入”

当您的浏览器请求麦克风权限时,您只需在列表中选择合适的“麦克风”即可。

该解决方案非常方便,因为我不需要编写特定于平台的绑定代码来访问音频流

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-07
    • 1970-01-01
    • 2014-05-12
    • 2015-11-09
    • 2013-06-11
    • 1970-01-01
    相关资源
    最近更新 更多