Как правильно указать относительный путь к файлу в плейлистах m3u?
Как правильно указать путь к mp3-файлу в плейлистах M3U, для использования плейлистов в аппаратных проигрывателях, таких как компактные и полочные стереосистемы, Микрокомпонентные системы, автомобильные аудиоплееры? Я понимаю, что путь должен быть относительным, для более надежного воспроизведения. Например, плейлист Windows Media Player m3u имеет две точки перед ведущей косой чертой:
#EXTM3U
#EXTINF:0,Artist - Track Name (Mix).mp3
..My AlbumArtist - Track Name (Mix).mp3
имеет ли это точки и ведущие назад косые черты какой-либо смысл для аппаратных игроков?
2 ответов
все игроки, которых я видел (включая проигрыватель Windows Media), принимают относительные пути.
на ..
означает один каталог вверх. Если вы хотите указать текущий путь, используйте .
, или не указывайте его вообще.
если у вас есть проблемы с совместимостью, рассмотрите возможность использования регулярных" прямых " косых черт /
вместо. Большинство аппаратных проигрывателей не работают под управлением Windows, и большинство программ Windows могут обрабатывать обычные косые черты, даже если пути Windows используют обратные косые черты \
.
вот однострочная команда для преобразования абсолютного в относительное для an .файл m3u (обновление playlistname и имя пользователя перед использованием):
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'
- имя списка воспроизведения.файл m3u, который вы хотите изменить. -
cd ~/Music/playlists;
- переход к папке плейлисты. -
cat playlist.m3u >> playlist-old.m3u;
- резервное копирование списка воспроизведения перед внесением изменений. -
sed -i '' 's/oldtext/newtext/g' playlist.m3u
- в целевом списке воспроизведения заменяет все экземпляры (g
для глобального) oldtext (абсолютный путь) с newtext (относительный путь:../
). -
LC_ALL=C
избегает ошибки, которая иногда возникает:sed: RE error: illegal byte sequence
.