【问题标题】:Play playlist of audio on website using node to create a jukebox / radio app使用节点在网站上播放音频播放列表以创建点唱机/收音机应用程序
【发布时间】:2020-10-07 16:05:12
【问题描述】:

所以我有一些时间在我手上,我想我会做一个小点唱机/收音机类型的应用程序。

这将相当简单,只是服务器上的 MP3 集合,随机选择一个,它播放,完成后,选择下一个并播放。这只是一个超级简单的页面,它有一个播放器并显示元数据。

我真的没有任何服务器编程经验,但我打算研究一下 Node,似乎它会对此有好处。我已经用 Python 编写了一个小脚本,它从选择中选择一首歌曲并播放它(目前使用 VLC),因此将它移植到 Node / js 应该很简单。

只是想知道是否有人可以为我指出如何将“播放器”与“播放列表”链接的正确方向。

查看它,我只能找到涉及使用shoutCast或ICEcast或类似的客户端和服务器的解决方案-因此播放列表将音频流式传输到shoutcast服务器,而该网站只是查看shoutCast URL的播放器-似乎对我来说没有必要,因为流媒体和网站是一回事。

对很多东西都很陌生 :) 但我现在有时间很高兴被困在里面!

提前致谢

【问题讨论】:

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


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

    我正在寻找相同的东西。我认为您使用节点是正确的。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-23
    • 2014-12-15
    • 2014-01-23
    • 1970-01-01
    • 1970-01-01
    • 2021-02-18
    • 2010-12-19
    相关资源
    最近更新 更多