Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Как проверить и сопоставить приложение с плейлистом *.m3u
При вставке диска с *.mp3 треками

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

SergioBS



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, как безболезненно можно сопоставить приложение с плейлистом, при загрузки autorun диска с *.mp3 треками, если в системе не зарегистрированы плейлисты, и имеется только Windows media player - насколько я знаю, по умолчанию такого нет? Может через батник какой? Кто, что посоветует?
 
На диске есть кнопка с запуском плейлиста по главам (глава состоит из нескольких частей *.mp3)

Всего записей: 229 | Зарегистр. 25-11-2004 | Отправлено: 13:04 08-12-2009 | Исправлено: SergioBS, 13:06 08-12-2009
karakurt2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
смотри команды
assoc /?
ftype /?

Всего записей: 737 | Зарегистр. 06-12-2003 | Отправлено: 13:06 08-12-2009 | Исправлено: karakurt2, 13:07 08-12-2009
SergioBS



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Накидать батник может кто-нибудь?
Я не программер, для меня эти команды темный лес

Всего записей: 229 | Зарегистр. 25-11-2004 | Отправлено: 13:07 08-12-2009 | Исправлено: SergioBS, 13:08 08-12-2009
karakurt2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SergioBS

Код:
 
assoc .m3u=WMPlayer.PlayList
ftype WMPlayer.PlayList="C:\Program Files\Windows Media Player\wmplayer.exe" "%1"
 

Всего записей: 737 | Зарегистр. 06-12-2003 | Отправлено: 13:25 08-12-2009
SergioBS



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
karakurt2
Спасибо, что-то начинаю понимать, но как будет выглядеть весь батник.
Насколько я понимаю его нужно будет прописать в autorun.inf
Типа:
[autorun]
open=autorun.exe
icon=autorun.exe,0
open=assoc.bat
Как к этому отнесутся антивирусы?
 
И как будет выглядить перезапись ассоциации расширения *.m3u например с winamp (у кого он установлен)
Диски рассчитаны на широкую аудиторию с записями православных бесед убиенного Даниила Сысоева из Московского патриархата.
Есть какой вариант?
Вопрос важный!

Всего записей: 229 | Зарегистр. 25-11-2004 | Отправлено: 13:39 08-12-2009 | Исправлено: SergioBS, 13:50 08-12-2009
karakurt2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Эээ... Насчёт содержимого файла autorun.inf не могу сказать, мне надо посмотреть техническую документацию. Те команды, которые я привёл, сопостовляют расширение плейлистов .m3u с запуском программы Windows Media Player для проигрывания списка. Эти команды и есть содержимое пакетного *.bat файла.

Всего записей: 737 | Зарегистр. 06-12-2003 | Отправлено: 13:51 08-12-2009
SergioBS



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Посмотри пож-ста....
Попробовал запустить батник - после этого иконка ассоциации поменялась на WMPlayer (стоял на KMPlayer). Но автоматическое воспроизведение при открытии WMPlayer-ом листа исчезло напрочь. Кликнул плеер открылся (не выдает содержимое плейлиста) и тишина....
Что-то не доделано или не так сделано....

Всего записей: 229 | Зарегистр. 25-11-2004 | Отправлено: 14:05 08-12-2009 | Исправлено: SergioBS, 15:14 08-12-2009
karakurt2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я бы посоветовал спросить у администраторов в этой теме задачи на bat-файлах. Они лучше знают программы командной строки чем программисты.
 
Могу предложить поиграться с командным файлом, который проверяет, сопоставлено ли расширение .m3u с какой либо программой. Если не сопоставлено, то проверяет существование программы Winamp или Windows Media Player и если находит их в стандартном каталоге, записывает для них соответствие в реестр.
 
mkassoc.bat:

Код:
 
@echo off
 
assoc .m3u 2>nul > nul
if "%ERRORLEVEL%"=="0" goto end
 
if not exist "%ProgramFiles%\Winamp\winamp.exe" goto mplayer
assoc .m3u=Winamp.Playlist
ftype Winamp.Playlist="%ProgramFiles%\Winamp\winamp.exe" "%%1"
goto end
 
:mplayer
if not exist "%ProgramFiles%\Windows Media Player\wmplayer.exe" goto wrong
assoc .m3u=WMPlayer.Playlist
ftype WMPlayer.Playlist="%ProgramFiles%\Windows Media Player\wmplayer.exe" "%%1"
goto end
 
:wrong
echo "You should find alternative solution to play media files"
 
:end
 

 
Насчёт содержимого файла autorun. Конечно, можно поставить в секции [autorun] следующую строчку, но это лишь пропишет в системе правила для воспроизведения плейлиста с помощью медиапроигрователя.
 
[autorun]
open=mkassoc.bat
 
Сомневаюсь, что это именно то, что нужно. Когда Вы всавляете диск в CD привод, пользователи ожидают запуска медиапроигрователя или навигационной программы.

Всего записей: 737 | Зарегистр. 06-12-2003 | Отправлено: 15:23 08-12-2009
SergioBS



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Согласен, но многих раздражает запуск сторонних плееров с кучей ненужных навесов (идут просто в папку с треками и запускают своим плеером к которому привыкли. Я думал об этом - решили что это не нужно...
 
По поводу привязки к определенному плееру - это наверное не выполнимо, т.к их наверное добрая сотня...
Наверное нужен батник, чтоб проверил есть ли сопоставление с каким либо плеером, если нет - то вязать на WMP.
Но у меня почему то после запуска первого батника - перестал открываться плейлист в виндузовом плеере
 
Обычно вяжут с диском открытие треков в Winamp из самого диска, например меня это убивает - т.к уже года два сижу на KMPLayer - и я такой не один

Всего записей: 229 | Зарегистр. 25-11-2004 | Отправлено: 15:31 08-12-2009 | Исправлено: SergioBS, 15:39 08-12-2009
karakurt2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Выполните команду
 
assoc .m3u=
 
а потом запускайте пакетный файл mkassoc.bat. Это сбросит неправильную ассоциацию.
 
Те команды, которые я указывал в первый раз были действительны, ести они набираются в командной строке, а не считываются из файла. Конструкция %1 представляет собой содержимое первого параметра командного файла, а он, очевидно, не был задан при запуске. Конструкция %% понимается интерпретатором командного файла как единственный знак процента, что и исправлено во втором варианте. Для других известных Вам медиаплееров команды можете написать самостоятельно по аналогии.
 
PS: мне тоже нравится больше всего KMPlayer, поскольку он единственный из множества проверенных мной проигывателей, который корректно работает с плейлистами, где файлы представлены в формате Unicode.

Всего записей: 737 | Зарегистр. 06-12-2003 | Отправлено: 17:34 08-12-2009 | Исправлено: karakurt2, 17:39 08-12-2009
SergioBS



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
karakurt2
Спасибо, но после выполнения батника, иду в командную строку
забиваю assoc .m3u= Пишет, что: "Не найдено сопоставление для расширения имени файла .m3u"
Я так понимаю, что уже должно пройти сопоставление с WMP, или я чего не понял?
 
//////Проверка на установленный WinAmp!
if not exist "%ProgramFiles%\Winamp\winamp.exe" goto mplayer
assoc .m3u=Winamp.Playlist
ftype Winamp.Playlist="%ProgramFiles%\Winamp\winamp.exe" "%%1"
goto end  
 
//////Сопоставление с WMP
:mplayer
if not exist "%ProgramFiles%\Windows Media Player\wmplayer.exe" goto wrong
assoc .m3u=WMPlayer.Playlist
ftype WMPlayer.Playlist="%ProgramFiles%\Windows Media Player\wmplayer.exe" "%%1"
goto end
 
Сейчас иконка плейлиста от KMPlayer и им же открывается.
Куда и что вписать, подскажи плиз. Я не понимаю, что происходит после выполнения батника

Всего записей: 229 | Зарегистр. 25-11-2004 | Отправлено: 18:06 08-12-2009 | Исправлено: SergioBS, 18:09 08-12-2009
karakurt2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
что-то не так задано. читайте справку.
 

Цитата:
 
Просмотр и изменение сопоставлений файлов.
 
ASSOC [.рсш[=[типФайла]]]
 
  .рсш      Расширение имени файла, сопоставляемое типу файлов
  типФайла  Тип файлов, сопоставляемый расширению имени файлов
 
Команда ASSOC без параметров выводит список сопоставлений типов файлов.
Если указано только расширение имени файла, выводится сопоставленный тип
файлов для расширения.  Если после знака равенства не указан тип файлов,
команда удалит текущее сопоставление для указанного расширения.
 

 

Цитата:
 
Просмотр и изменение типов файлов, сопоставленных с расширением имен файлов
 
FTYPE [типФайлов[=[команднаяСтрокаОткрытия]]]
 
  типФайлов                 Тип файлов для просмотра или изменения
  команднаяСтрокаОткрытия   Команда, используемая для открытия файлов
                            указанного типа.
 
Команда FTYPE без параметров выводит текущий список типов файлов, для которых
определены командные строки открытия. Если указан только тип файла, FTYPE
выводит командную строку открытия для этого типа файлов. Если после знака
равенства не указана строка открытия, FTYPE удалит текущее сопоставление для
указанного типа файлов. При вызове командной строки переменные %0
и %1 заменяются на имя файла, запускаемого с помощью сопоставления.
Вместо переменной %* подставляются все параметры, а переменные %2, %3
и т.д. заменяются, соответственно, на первый, второй и другие параметры.
Вместо переменной %~n подставляются все оставшиеся параметры, начиная с n,
где n является числом от 2 до 9.  Например:
 
    ASSOC .pl=PerlScript
    FTYPE PerlScript=perl.exe %1 %*
 
Эти команды позволят вызывать обработчик команд Perl следующим образом:
 
    script.pl 1 2 3
 
Если желательно избежать постоянного ввода расширения имен файлов, введите
следующую команду:
 
    set PATHEXT=.pl;%PATHEXT%
 
Теперь обработчик команд вызывается еще проще:
 
    script 1 2 3
 

Всего записей: 737 | Зарегистр. 06-12-2003 | Отправлено: 18:21 08-12-2009
SergioBS



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
karakurt2
Ну не работает. Вместо WMP прописал пути и название соответствия на KMPlayer. После отработки батника, захожу в командную строку, ввожу assoc .m3u - говорят, что файл ассоциирован с WMP
 
Добавил позже:
 
//////Убрал из батника строчки
assoc .m3u 2>nul > nul
if "%ERRORLEVEL%"=="0" goto end
 
Начало работать - где-то здесь неправильно написано.
Определение ассоциации с расширением файлов
Блин, народ как правильно определить есть ассоциация или нет, через запуск батника. Оч. нужно
 
Позже:
Ушло в тираж без этих строк
Пропускает он другие плееры или нет ХЗ
Но ассоциация с WMP происходит....

Всего записей: 229 | Зарегистр. 25-11-2004 | Отправлено: 20:42 08-12-2009 | Исправлено: SergioBS, 23:41 08-12-2009
karakurt2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну дк эта строка и проверяет, что если в системе уже есть ассоциация с расширением .m3u, то не делать ничего, переход в конец файла.
 
Добавлено:
команда assoc .m3u как и все остальные команды возвращает 0 в случае своего успешного завершения. возвращаемое значение можно проверить по содержимому переменной ERRORLEVEL сразу после исполнения команды. если ассоциации с расширением нет, она возвращает 2.

Всего записей: 737 | Зарегистр. 06-12-2003 | Отправлено: 04:34 09-12-2009
Maqentaer



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
имхо, нужно же проверять нету ли ассоциации с .m3u
если есть, то запускаем с помощью ассоциированной программы,
в противном случае зупускаем с помощью виндового.
 

Код:
assoc .m3u
if %errorlevel% == 0 (
    start 1.m3u
) else (
    start "%ProgramFiles%\Windows Media Player\wmplayer.exe" 1.m3u
)

 
вместо 1.m3u можно написать %1 и батнику путь до плейлиста передавать первым параметром.
 
Добавлено:
кстати необязательно батником, можно написать .exe с подобным функционалом
ибо батник это не солидно для дисков с музыкой

Всего записей: 71 | Зарегистр. 18-05-2008 | Отправлено: 13:07 09-12-2009 | Исправлено: Maqentaer, 13:08 09-12-2009
SergioBS



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maqentaer
Буду благодарен за *.exe, если накидаешь.
Сделал сейчас так: Батник запускается сразу же в момент вставки диска.
Программа AutoPlay Menu Builder - дает возможность запускать любое приложение еще до появления меню диска. Это я к тому что в autorun.inf дополнительно ничего не прописывал.
Содержание батника оставил таким же, только без верхних строк:
assoc .m3u 2>nul > nul
if "%ERRORLEVEL%"=="0" goto end
Вроде все работает. Хочется конечно сделать все по приличнее, чем запуск батника...
Огромное спасибо karakurt2 Сейчас понимаю, что было все верно написано, но тогда башка была другим занята.
Честно скажу торопился тогда, мне нужно было подготовить 4 autorun до вечера, а тут проблемы с плейлистом. Создать нормальное меню требует времени, глобальная работа в фотошопе. Это как с сайтом не достаточно иметь только Dreamweaver....
Всем спасибо....

Всего записей: 229 | Зарегистр. 25-11-2004 | Отправлено: 12:47 11-12-2009 | Исправлено: SergioBS, 13:10 11-12-2009
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Как проверить и сопоставить приложение с плейлистом *.m3u


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

LiteCoin: LgY72v35StJhV2xbt8CpxbQ9gFY6jwZ67r

Рейтинг.ru