首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XSPF (xml播放列表)规范:我应该如何格式化指向一个或多个音乐服务的链接?

XSPF (xml播放列表)规范:我应该如何格式化指向一个或多个音乐服务的链接?
EN

Stack Overflow用户
提问于 2020-03-23 22:55:40
回答 1查看 245关注 0票数 1

我正在开发一个音乐软件,我想使用XSPF规范,因为它是一个标准,但是有一些东西我没有得到。

或者它甚至不存在,因为上次的规范更新是.14岁。

对于曲目,他们有定位标签来设置歌曲的源文件。

代码语言:javascript
复制
    <track>
        <location>http://example.com/song_1.mp3</location>
    </track>

但是,如果使用我的代码,我不知道源文件的URL,而是知道一个或多个音乐服务的链接,这些音乐服务可以流到这个轨道(spotify/soundcloud/.),这取决于用户能够播放什么?

可以吗?我如何在XSPF中声明音乐服务中的一个或多个链接?

例如相同的轨道:

代码语言:javascript
复制
https://geo.music.apple.com/be/album/_/1444279072?i=1444279073&mt=1&app=music&at=1000lHKX
https://open.spotify.com/track/6XBaTMiZa77Du2XEl1RNaa
https://www.deezer.com/track/66644816
https://music.amazon.com/albums/B082QWLFM7?trackAsin=B082QMC1C9&do=play
https://www.youtube.com/watch?v=PA3P1-aSvKQ
https://www.youtube.com/watch?v=vUes9-tFWm4

也许它就像声明几个定位标签一样简单?

要呈现的资源的URI。可能是音频资源,但可能是任何类型的资源,具有众所周知的持续时间,如视频、SMIL文档或XSPF文档。此元素中定义的资源的持续时间定义了呈现的持续时间。xspf:track元素可能包含零个或多个位置元素,但是用户代理不能呈现超过一个指定资源。

代码语言:javascript
复制
<track>
    <location>https://geo.music.apple.com/be/album/_/1444279072?i=1444279073&mt=1&app=music&at=1000lHKX</location>
    <location>https://open.spotify.com/track/6XBaTMiZa77Du2XEl1RNaa</location>
    <location>https://www.deezer.com/track/66644816</location>
    <location>https://music.amazon.com/albums/B082QWLFM7?trackAsin=B082QMC1C9&do=play</location>
    <location>https://www.youtube.com/watch?v=PA3P1-aSvKQ</location>
</track>

还是应该使用标识符标签来完成呢?

此资源的规范ID。可能是散列或其他与位置无关的名称,例如MusicBrainz标识符。一定是合法的URI。xspf:磁道元素可能包含零或多个标识符元素。 例如,URI http://musicbrainz.org/track/7e1d6f5f-0ac3-4889-8b57-506a67b459fc.html是特定歌曲的标识符,但是取消引用该标识符不会产生歌曲的副本。

或者使用链接标签 --这是我的第一个想法,但我越来越不确定它是为此而设计的?

link元素允许扩展XSPF,而无需使用XML名称空间。xspf:磁道元素可能包含零或多个链接元素。

这方面的文档并不是很清楚。

有人能帮忙吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-03-24 17:14:28

您应该将标识符元素(http://xspf.org/xspf-v1.html#rfc.section.4.1.1.2.14.1.1.1.2)用于像Spotify链接这样的内容。

info元素也可以做您需要的事情(http://xspf.org/xspf-v1.html#rfc.section.4.1.1.2.14.1.1.1.6),但是您只能在每个轨道上拥有一个,所以您不能覆盖一个以上的流服务。

关于规范上一次更新以来的许多年,也许是时候做一个了。一个有福的JSON版本将是有用的。

发现规范没有清楚地传递这些信息是有益的。在我们编写规范的时候,最有效的网络音乐是网络服务器上的MP3。现在,流媒体服务完成了这项工作。我们可以通过更新文档来修复这个问题。例如,http://xspf.org/quickstart/的示例播放列表可以展示如何实现它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60822682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档