在网页上连续播放 mp3 的最有效方式(如网络收音机)

Posted

技术标签:

【中文标题】在网页上连续播放 mp3 的最有效方式(如网络收音机)【英文标题】:Most efficient way to play mp3 continously on webpage (like a web-radio) 【发布时间】:2016-04-16 16:29:12 【问题描述】:

我有一个包含多个 *.mp3 文件的文件夹。现在我想要实现的是,这些 mp3 在我的网页上连续播放,这意味着如果我关闭浏览器并再次打开页面,即 10 秒后,歌曲应该在我离开后 10 秒继续播放。

它还应该为每个连接的客户端播放相同的文件。 (很像网络广播)

但是如何才能最有效地做到这一点呢?我做了一个小示例项目,每秒在数据库中增加一个值,如果该值大于 mp3 的播放时间,它将更改活动的 mp3。

客户端也是如此,我每隔一秒检查一次 mp3 是否已更改,如果更改了,我会更改音频标签的 src。

但我相信这不是很有效。有人对如何减少使用的资源有任何想法吗?

提前致谢。

【问题讨论】:

研究使用 websockets 【参考方案1】:

如果您不关心为用户实际保留跨浏览器/平台的播放信息,您可以使用本地存储解决方案来跟踪歌曲和当前位置,然后使用客户端 javascript 解决方案检查此值并在适当的时间播放歌曲,而无需包含用于查找的数据库调用。

或者如果需要跨平台,您至少可以将其存储在本地并尝试先解决该问题,如果没有歌曲的缓存记录,则回退到数据库查找。

【讨论】:

以上是关于在网页上连续播放 mp3 的最有效方式(如网络收音机)的主要内容,如果未能解决你的问题,请参考以下文章

如何用js控制audio元素连续播放mp3文件

如何用js控制audio元素连续播放mp3文件

在网页上播放/暂停/倒带 mp3 音频

在 Linux 上播放 mp3 声音缓冲区

HTML5 播放器在网页上显示,但 mp3 声音不播放

从 Visual C++ 播放 mp3 的最简单方法