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

问题描述 投票:1回答:1

我正在开发音乐软件,由于它是标准软件,所以我想使用the XSPF specifications,但是有些东西我没得到。也许它甚至不存在,因为规格的最新更新是... 14岁。

对于曲目,它们具有location tag来设置歌曲的源文件。

    <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

也许就像声明几个location tags一样简单?

要渲染的资源的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>

还是应该使用identifier tag完成?

此资源的规范ID。可能是哈希或其他与位置无关的名称,例如MusicBrainz标识符。必须是合法的URI。 xspf:track元素可能包含零个或多个标识符元素。

例如,URIhttp://musicbrainz.org/track/7e1d6f5f-0ac3-4889-8b57-506a67b459fc.html是特定歌曲的标识符,但取消引用该歌曲标识符将不会产生歌曲的副本。

或使用link tag-这是我的第一个主意,但我越来越确定它是为此目的设计的?

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

文档对此并不是很明显。

任何人都可以帮忙吗?

谢谢!

xml tags standards playlist xspf
1个回答
1
投票

您应将标识符元素(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版本将很有用。

发现规范未明确传达此信息很有用。在我们撰写规范时,功能最强大的Internet音乐是Web服务器上的MP3。现在,流媒体服务可以完成这项工作。我们可以通过更新文档来解决此问题。例如,http://xspf.org/quickstart/处的示例播放列表可以显示操作方法。

© www.soinside.com 2019 - 2024. All rights reserved.