【发布时间】:2021-05-10 21:09:31
【问题描述】:
我想重现带有<audio> 标签的音频流并显示当前曲目的名称。为此,我一直在使用音频的 audioTracks 属性。
我知道这个功能是实验性的,我特意启用它。
在 Epiphany (Gnome Web) 中,该功能完美运行(甚至无需先启用它),但在 Chrome 和 Firefox 中,AudioTrack's 标签属性始终为空。
Chrome 和 Firefox 的实现有问题吗?是否有其他 API 可以用来检索曲目的名称?
我如何检索它:
document.getElementById('audio').audioTracks[0].label;
【问题讨论】:
-
并非所有曲目都会有标签。您正在使用哪种类型的流启用了此功能?
-
@Brad 网络电台。我知道并不是所有的标签都会有标签,但 Chrome 会在我知道的标签中显示空标签。
-
什么样的网络收音机?我不知道任何有多个曲目的互联网广播电台。它更像是一种点播类型的流,其中会有主轨道、评论轨道,可能还有另一种语言等。您有正在使用的流的示例吗?
-
您是否偶然混淆了音轨(就流和容器而言)和歌曲中的音轨及其当前正在播放的元数据?
-
从流中检索信息不应花费 4 秒。元数据应该在第一个 ICY 元数据块中可用,通常在 8KB 数据之后可用,这应该在初始缓冲区大小内。换句话说,您只需要一两个数据包即可。
标签: javascript audio audio-streaming audiotrack internet-radio