【发布时间】:2016-12-12 13:15:47
【问题描述】:
为了解析XSPF 文档,specification 声明a <track> element can have zero or more <location> elements to define the URI of a resource to be rendered。例如:
<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
<trackList>
<track>
<location>http://example.com/song_1.ogg</location>
<location>http://mirror.xyz/example.com/song_1.ogg</location>
</track>
<track>
<location>http://example.com/song_2.ogg</location>
<location>http://example.com/song_2.mp3</location>
</track>
</trackList>
</playlist>
我的问题是这是否允许:
与上面的 song_1 相同类型的资源(例如原始源和镜像的 MP3 文件)的多个位置?
或针对不同类型的资源(例如,使用多个位置同时提供 Ogg Vorbis 和 MP3 版本的曲目),如上面的 song_2 中?
或者两者兼而有之?
目前 VLC 和 Audacious 都使用 <track> 中提供的最后一个 <location>,即使它不可用。因此他们似乎只使用了最后一个 <location> 元素,这似乎不是规范的意图。无论哪种方式,他们都不会执行我上面列出的任何解决案例。
显然,如何解释这些位置会改变包含 <location> 元素的 <track> 元素的解析器的预期行为。第一种情况提供了一个很好的后备解决方案。对我来说更有趣的是,第二种情况简化了需要 2 个播放列表的情况,1 个用于 Ogg Vorbis,1 个用于 MP3 版本的曲目,例如 M3U 和 PLS 必须这样做。
因此:对于在 XSPF 中为单个 <track> 处理/解析多个 <location> 元素是否有标准或推荐的行为?
谢谢
【问题讨论】:
标签: audio audio-streaming playlist resolver xspf