我正在使用音频元素从icecast服务器流式传输ogg源。音频元素是否提取了冰冷的元数据,是否有办法通过javascript访问它?
基本上,我想显示我正在播放的广播电台的“当前播放”信息。我有什么选择?
谢谢!
答案 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独立访问元数据。其他评论中指出的缺乏同步适用。它通常足够接近"虽然。