在流中传递ID3信息并在前端进行解析

2024-06-03 10:56:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直喜欢SoundManager2作为our MP3 streaming player的前端音乐播放器(使用python后端),但是当流注入id3帧时,播放器接口开始切换暂停(或类似结果)。在

我想使用ID3帧(或其他方法)来标记流中的点,这样我就可以显示每个特定(当前正在播放)片段的详细信息。在

在Chrome mp3播放器中,流播放完美无瑕。在

因此,我希望了解如何重新配置SM2以处理中游id3标记。我知道HTML5不支持id3,并且已经看到一些JavaScript库可以检索id3v1和id3v2标记,但是还没有找到一个可以处理流的库。在

甚至可以在一个流中包含和检索id3标记,还是我们在这里找错树了?在


Tags: 方法标记音乐our详细信息chrome播放器mp3
1条回答
网友
1楼 · 发布于 2024-06-03 10:56:04

根据SM2开发者的说法(谢谢你,斯科特):

当谈到播放选项时,HTML5音频有点“愚蠢”,因为它基本上是“即开即忘”的——你不能真正访问任何元数据事件,也不能访问原始音频流等。HTML5中有一个元数据事件,但我不相信它在初始加载/请求时会触发不止一次,也不包括ID3信息。在

有更新的Web音频API可用于超低延迟播放和位级流访问,但它也有一些缺陷和不一致的实现(尽管它正在变得更好),并且在任何版本的IE中都不受支持(可能在ie12tbd中)

尽管不受欢迎,但我可能会考虑每隔一段时间轮询服务器以获取当前流元数据。如果是实时流,可以让服务器返回已知的当前艺术家/标题。如果是静态的,你可以让客户机发送当前时间偏移量,并基于此确定哪首歌等。在

Flash8/9确实提供了对ID3解析的一些支持,但它通常不可靠,而且还存在其他限制—特别是Flash根本不能很好地“流式”处理。在

相关问题 更多 >