我正在开发一个音乐软件,我想使用XSPF规范,因为它是一个标准,但是有一些东西我没有得到。
或者它甚至不存在,因为上次的规范更新是.14岁。
对于曲目,他们有定位标签来设置歌曲的源文件。
<track>
<location>http://example.com/song_1.mp3</location>
</track>但是,如果使用我的代码,我不知道源文件的URL,而是知道一个或多个音乐服务的链接,这些音乐服务可以流到这个轨道(spotify/soundcloud/.),这取决于用户能够播放什么?
可以吗?我如何在XSPF中声明音乐服务中的一个或多个链接?
例如相同的轨道:
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元素可能包含零个或多个位置元素,但是用户代理不能呈现超过一个指定资源。
<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:磁道元素可能包含零或多个链接元素。
这方面的文档并不是很清楚。
有人能帮忙吗?
谢谢!
发布于 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/的示例播放列表可以展示如何实现它。
https://stackoverflow.com/questions/60822682
复制相似问题