
ローカルに保存されたメディア ファイルのプレイリストを作成し、これらのプレイリストをデバイス (デスクトップ/ラップトップ/電話) 間で同期したいと考えています。ただし、大きな問題が 1 つあります。長年にわたりメディア ライブラリの保存方法が変更されたため、ファイル パスがすべてのデバイス間で必ずしも同じではありません。したがって、ファイルの正確なパスに依存する一般的なファイル形式 ( 、、、など.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
または が含まれている場合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 では、「ドット」、「ドットドット」、スラッシュ、バックスラッシュを使用してみましたが、効果はありませんでした。]