是否有可能从HTML5音频元素中获取Icecast元数据?

时间:2011-05-24 19:07:07

标签: javascript html5 audio icecast

我正在使用音频元素从icecast服务器流式传输ogg源。音频元素是否提取了冰冷的元数据,是否有办法通过javascript访问它?

基本上,我想显示我正在播放的广播电台的“当前播放”信息。我有什么选择?

谢谢!

2 个答案:

答案 0 :(得分:6)

不,您的HTML5元素只知道流数据,甚至没有提出获取元数据的适当请求。

请参阅以下帖子:

现在,这绝不是不可能的。你只需要在服务器端做。 (特别参见第二个链接。)

我还应该指出,在一个成熟的SHOUTcast服务器上(没有使用Icecast进行测试,但值得一试)会生成“7.html”,其中包含有关侦听器,最大侦听器,峰值侦听器数量的数据,立体声/单声道,比特率和当前曲目名称为逗号分隔值。像这样:

2,1,33,625,2,128,J Mascis - Not Enough

如果您可以抓取http://yourstreamingserver:port/7.html,那么您可以非常轻松地获取此数据。

答案 1 :(得分:2)

对于Ogg容器流(所以Vorbis和Opus都是如此),至少Firefox支持对元数据的javascript访问。目前这只是"供应商特定" Javascript API:audio.mozGetMetadata();

另一方面,如果您使用Icecast 2.4.1,则可以通过JSON API独立访问元数据。其他评论中指出的缺乏同步适用。它通常足够接近"虽然。