Показать полную графическую версию : [решено] Создание плейлиста без плеера
DoubleDragon
24-02-2013, 21:07
Здравствуйте. Помогите вот в каком вопросе:
В программировании и языковедении не силен, но у меня сработало с файлами из mp3
Берете файл из архива (выбираете для MP3, WAV или FLAC) и копируете его в папку с треками (сразу в плеер). Там запускаете, и у вас через пару секунд появляется файл Playlist.m3u,
который вы переименовываете как нравится. Это получается нескольк обыстрее чем создавать плейлист непосредственно через WinAMP или AIMP Всю инфу стянул из
Википедии (http://ru.wikibooks.org/wiki/%D0%91%D1%8B%D1%81%D1%82%D1%80%D0%BE%D0%B5_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D 0%BB%D0%B5%D0%B9%D0%BB%D0%B8%D1%81%D1%82%D0%B0_M3U)
Кто может помочь
1) чтобы еще Playlist переименовывался в хотя бы название папки, будет вообще супер
___
Но вот беда. то что проделано выше, работает только на компьютере, Т.е. если я кликаю по плейлисту, все играется. Но если я эту папку переливаю в аудиоплеер, то плейлист пустой.
Я прилепил разные типы плелистов. Вот одни играются на плеере, а остальные нет. Можно ли как-то "модифицировать" bat чтобы получались типы плейлиста, которые работают?
@echo off
setlocal enableextensions enabledelayedexpansion
set sPath=%~dp0
call :GetLastPartOfPath "%sPath:~0,-1%"
1>nul chcp 1251
1>"%LastPartOfPath%.m3u" 2>nul dir /o:n /b *.wav *.flac *.mp3
1>nul chcp 866
endlocal
exit /b 0
:GetLastPartOfPath
setlocal enableextensions enabledelayedexpansion
set sOut=%~0
endlocal & set %sOut:~4%=%~nx1
exit /b
DoubleDragon
24-02-2013, 22:30
Ух. Здорово. Я получаю список файлов (ну если открыть блокнотом). Но вот незадача. Если я это дело переношу на плеер, то не работает. А работают плейлисты, которые выглядят так:
#EXTM3U
#EXTINF:335,Brian Tyler - Far Cry 3
01 Far Cry 3.flac
#EXTINF:213,Brian Tyler - Heat
02 -//-//-//-///-
и так далее
Где 335 - длительность трека. Можете как-нибудь переделать? Или если 335 (в секундах) везде заменить на "-1" - без кавычек. Такое также допускается для "радио"
http://ru.wikipedia.org/wiki/M3U
DoubleDragon, если Вы просто запишете ручками «#EXTM3U» первой строкой полученного файла — он заработает на плеере?
DoubleDragon
25-02-2013, 00:02
Нет не заработал. И вообще, все плейлисты c FLAC, даже которые я делал программой AIMP - вешают мою железку. А вот с MP3 - шными файлами все ОК. Но только теми, которые делаются из AIMP (даже если в них пути к песням прописаны)
Хотелось бы чтобы в текстовом варианте плейлист имел бы такой вид. Для примера:
#EXTM3U
#EXTINF:277,Sting - If You Love Somebody
01 - Sting - Live In Central Park ( Disc 1 ) - If You Love Somebody.mp3
#EXTINF:416,Sting - After The Rain - We'll Be Together
02 - Sting - Live In Central Park ( Disc 1 ) - After The Rain - We'll Be Together.mp3
т.е. без путей
Причем я пробовал заменить длительность (это 277 и 416) на "-1" - все работает.
Хотелось бы чтобы в текстовом варианте плейлист имел бы такой вид. »
В пакетном файле?! Тэги %artist% - %title% где предлагаете брать?
@echo off
setlocal enableextensions enabledelayedexpansion
set sPath=%~dp0
call :GetLastPartOfPath "%sPath:~0,-1%"
1>nul chcp 1251
>"%LastPartOfPath%.m3u" (
echo #EXTM3U
for /f "usebackq delims=" %%i in (`dir /o:n /b *.wav *.flac *.mp3 2^>nul`) do (
echo #EXTINF:-1,
echo %%~i
)
)
1>nul chcp 866
endlocal
exit /b 0
:GetLastPartOfPath
setlocal enableextensions enabledelayedexpansion
set sOut=%~0
endlocal & set %sOut:~4%=%~nx1
exit /b
DoubleDragon
25-02-2013, 20:54
Отлично. Все заработало.
Вы гений, а для меня это какая-то абракадабра. Спасибо еще раз.
--
Если Вам не сложно, напишите еще вот такой "генратор"
Есть папка. Напрмер СТИНГ. Внутри есть папки с альбомами, например CD1 CD2 .... CD5
Есть возможность создать такой BAT-ник, чтобы при запусуке его из папки СТИНГ, пойвлялся плейлист в апапке СТИНГ, но чтобы там были треки со всех подпапок (а еще лучше и вглубину чтобы подпапки читались на несколько уровней.) Или это нереализумо, т.к. путей нет в плейлисте?
p.s. я сейчас на форуме АИМпа интресуюсь насчет путей. В любом спасибо за труд. Как Вас отблагодарить?
Вы гений, а для меня это какая-то абракадабра. »
Отнюдь. Вы неправы в обеих частях утверждения. Не боги горшки обжигают.
напишите еще вот такой "генратор" »
Попробуйте так:
@echo off
setlocal enableextensions enabledelayedexpansion
set sPath=%~dp0
call :GetLastPartOfPath "%sPath:~0,-1%"
1>nul chcp 1251
>"%LastPartOfPath%.m3u" (
echo #EXTM3U
for /f "usebackq delims=" %%i in (`dir /s /o:n /b *.wav *.flac *.mp3 2^>nul`) do (
echo #EXTINF:-1,
set sFullPath=%%~i
echo !sFullPath:%sPath%=!
)
)
1>nul chcp 866
endlocal
exit /b 0
:GetLastPartOfPath
setlocal enableextensions enabledelayedexpansion
set sOut=%~0
endlocal & set %sOut:~4%=%~nx1
exit /b
Как Вас отблагодарить? »
Судят старого цыгана… Дают ему последнее слово. Он и говорит:
— Просит прокурор пятнадцать — дайте ему пятнадцать, просит защитник пять — дайте ему пять, обещает судья десять — дайте ему десять. А мне ничего не надо, я не жадный…
Спросите у Администрации (http://www.oszone.net/support/), может им чего сгодится.
DoubleDragon
25-02-2013, 22:54
Ок.
Алексей_Игоревич@vk
10-09-2013, 19:52
Здравствуйте, скажите а как в этом коде, добавить функцию подстановки пути
@echo off
setlocal enableextensions enabledelayedexpansion
set sPath=%~dp0
call :GetLastPartOfPath "%sPath:~0,-1%"
1>nul chcp 1251
>"%LastPartOfPath%.m3u" (
echo #EXTM3U
for /f "usebackq delims=" %%i in (`dir /o:n /b *.wav *.flac *.mp3 2^>nul`) do (
echo #EXTINF:-1,
echo %%~i
)
)
1>nul chcp 866
endlocal
exit /b 0
:GetLastPartOfPath
setlocal enableextensions enabledelayedexpansion
set sOut=%~0
endlocal & set %sOut:~4%=%~nx1
exit /b
получается вот такой список:
multi\images\muzic\0010_Vlada_Moskovskaia\1991_-_Vlada_Moscowskaya\Kak_legko_togda_nam_pelos_.mp3
#EXTINF:-1,
multi\images\muzic\0010_Vlada_Moskovskaia\1991_-_Vlada_Moscowskaya\Ne_nado_slov.mp3
а мне нужно еще подставить адрес: http://fierycity.ru/
реально ли это
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.