
我想創建本地儲存的媒體檔案的播放列表,並在我的裝置(桌上型電腦/筆記型電腦/手機)之間同步這些播放列表。了一些變化多年來,我的所有設備上的文件路徑不一定相同。因此,依賴檔案的確切路徑的常見檔案格式(例如.fpl
、.m3u
、.pls
、 )是不合適的。.wpl
在幾乎所有情況下,媒體的植根位置都因設備而異。一些媒體播放器足夠聰明,可以解決這個問題,只需匹配文件的後綴。例如,如果我D:\Music\Example Artist\Example Song.mp3
在播放清單中,音樂播放器可能會識別$SOME_ANDROID_IDENTIFIER/AndroidMusic/Example Artist/Example Song.mp3
為與該條目相符。如果音樂播放器不夠智能,使用文字編輯器更改庫的根目錄也很簡單。
然而,這種策略通常不夠穩健,無法承受路徑中更複雜的差異。如果播放清單包含D:\Music\Example Artist\Example Song.flac
or D:\Music\Example Artist\Example Artist feat. Someone Else - 1-01 Example Song (2021).mp3
,則尋找和取代會變得更加複雜,以至於對於大型庫來說變得難以維持。
我對此問題的理想解決方案是基於元資料的文件格式。它可能不包含檔案的精確路徑,而是包含類似以下 JSON 的內容:
{
songs: [
{
artist: "Example Artist",
title: "Example Song"
}
]
}
由於我可以保證基本元數據在重新編碼、重命名和複製之間的穩定性,因此這應該允許任何媒體播放器匹配提供的元數據,假設它可以索引我設備上的所有媒體檔案。
問題:是否存在與我上面描述的類似的文件格式?如果沒有,是否有任何解決方案可以在不依賴精確路徑或尋找和替換的情況下建立播放清單? (對於我的具體情況,我關心 Windows 上的 foobar2000 和 Android 上的 Poweramp 之間的互通性,但也歡迎不使用這些應用程式的解決方案。)
答案1
看起來最好的現有文件格式是XML 可共用播放清單格式,簡稱XSPF。不幸的是,它看起來並沒有得到廣泛的支持。它似乎主要在 IPTV 社群中使用,但在音訊播放器方面卻很少被採用。
有一個foobar2000 的插件這增加了支持,但我找不到任何對 Poweramp 或 Android 上的其他音樂播放器非常有意義的東西。某些服務(例如 Soundiiz)似乎能夠導出到 XSPF來自串流媒體服務。
答案2
.m3u,可能還有其他播放列表,需要不小路,只是檔案名稱,如果 .m3u 和檔案位於同一資料夾中。
也就是說,這似乎不適用於相對的子資料夾的路徑,也不是父資料夾的路徑。 [也許這取決於應用程式或檔案系統;我嘗試使用「點」、「點-點」、正斜線和反斜線在 Windows/NTSF 下無濟於事。