使用节点在网站上播放音频播放列表以创建自动点唱机/广播应用

时间:2020-06-17 18:16:45

标签: node.js ffmpeg audio-streaming radio shoutcast

所以我有一些时间想着要让自己成为一个点唱机/收音机类型的应用程序。

这将非常简单,只需在服务器上收集MP3的集合即可,一个是随机选择的,它可以播放,播放完成后,选择并播放下一个。它的前面只是一个具有播放器并显示元数据的超级简单页面。

我实际上没有服务器编程方面的任何经验,但是我将研究Node,看来这样做会很有用。我已经用Python编写了一个小脚本,可以从选择的歌曲中选择一首并播放(目前使用VLC),因此将其移植到Node / js应该很简单。

只是想知道是否有人可以为我指出如何将“玩家”与“播放列表”链接起来。

在其中,我只能使用shoutCast或ICEcast或类似的东西找到涉及客户端和服务器的解决方案-因此播放列表将音频流传输到shoutcast服务器,并且该网站只是查看shoutCast URL的播放器-似乎对我来说是不必要的,因为流媒体和网站将是同一件事。

很多新手:)但是我现在有时间很高兴被卡住!

预先感谢

1 个答案:

答案 0 :(得分:0)

我已经建立了类似的东西,并选择完成几乎所有客户端工作。有几个优点:

  • 所需的基础设施较少(出错的地方更少)
  • 您可以重新使用普通的HTTP CDN来提供静态文件
  • 为以后的客户更改提供更大的灵活性(例如,将不同的内容发送给不同的客户以进行A / B测试)
  • 离线播放的可能性

无需SHOUTcast或Icecast。您需要做的就是将播放列表和相关文件发布到Web服务器。在客户端,您可以阅读此播放列表,随机选择一个条目,然后通过简单的new Audio()加载它。

现在,当您的audio对象触发其ended事件时,请将src属性设置为播放列表中下一项的URL。 (此详细信息很重要,否则Safari会假设用户不想继续播放,因此Safari会停止播放音频。)