在M3U播放列表中指定文件的相对路径的正确方法是什么?

时间:2014-09-05 00:08:07

标签: audio mp3 media-player playlist

在M3U播放列表中指定mp3文件的路径的正确方法是什么,以便在硬件播放器中使用播放列表,例如Compact&架子立体声,微型元件系统,汽车音响播放器? 我理解路径应该是相对的,以便更可靠地播放。例如,Windows Media Player m3u播放列表在前导斜杠之前有两个点:

#EXTM3U
#EXTINF:0,Artist - Track Name (Mix).mp3
..\My Album\Artist - Track Name (Mix).mp3

对于硬件播放器来说,这些点和反向斜线是否有意义?

2 个答案:

答案 0 :(得分:8)

我见过的所有玩家(包括Windows Media Player)都接受相对路径。

..表示一个目录。如果您想指定当前路径,请使用.,或者根本不指定。

如果您遇到兼容性问题,请考虑使用常规"转发"斜杠/代替。大多数硬件播放器都没有运行Windows,即使Windows路径使用反斜杠\,大多数Windows软件也可以处理常规斜杠。

答案 1 :(得分:1)

这是一个单行命令,用于将.m3u文件的绝对值转换为相对值(使用前更新播放列表名称和用户名)

name='playlistname'; cd /Volumes/'Mac Storage'/Music/Music/playlists; cat $name.m3u >> $name-old.m3u; LC_ALL=C sed -i '' 's/\\Users\\username\\Music\\/\.\.\//g' $name.m3u

含义:

  • name='playlistname' - 您要更改的playlist.m3u文件的名称。
  • cd ~/Music/playlists; - 导航到播放列表文件夹。
  • cat playlist.m3u >> playlist-old.m3u; - 在进行更改之前备份播放列表。
  • sed -i '' 's/oldtext/newtext/g' playlist.m3u - 在目标播放列表中,使用newtext(相对路径:g)替换oldtext(绝对路径)的所有实例(全局为../)。
  • LC_ALL=C可以避免有时会出现错误:sed: RE error: illegal byte sequence