1

Попытка добавить собственный протокол vlc:/// в мою систему Windows 8, чтобы гиперссылки, использующие его, открывали файл в VLC вместо моего браузера. Он пытается открыть файл, но затем VLC говорит, что не может открыть MRL. Я проверил область сообщений, но я не вижу никаких журналов. Как я могу заставить VLC принять протокол?

Что я сделал:

  1. Откройте regedit и перейдите к HKEY_CLASSES_ROOT .
  2. Щелкните правой кнопкой мыши HKEY_CLASSES_ROOT и создайте новый ключ с именем vlc .
  3. Нажмите на vlc , а затем откройте в нем запись (Default) .
  4. В (Default) введите "URL:VLC Protocol" .
  5. Щелкните правой кнопкой мыши HKEY_CLASSES_ROOT/vlc и создайте новый ключ с именем Url Protocol .
  6. Щелкните правой кнопкой мыши HKEY_CLASSES_ROOT/vlc и создайте новый ключ с именем Default Icon .
  7. В HKEY_CLASSES_ROOT/vlc/Default Icon откройте (Default) и введите в нем "vlc.exe,1" .
  8. В HKEY_CLASSES_ROOT/vlc создайте новый ключ с именем shell , в нем создайте ключ с именем open , в нем создайте ключ с именем command и откройте запись (Default) .
  9. В записи введите "C:\Program Files (x86)\Video LAN\VLC Media Player\vlc.exe" "%1" .
  10. Создайте папку с именем website на диске c: и добавьте файл с именем example.mp4 и HTML-файл example.html .
  11. В файле html введите: <a href="vlc:///C:/website/example.mp4">Example Link</a> .
  12. Свяжите протокол с VLC, открыв ссылку, используя его, просматривая VLC, и устанавливая его всегда используемым.

1 ответ1

1

Как говорит Даниэль Б. в комментариях, проблема не в том, как я настроил протокол, а в том, что VLC не знает, как его использовать. Решение состоит в том, чтобы направить вывод в пакетный скрипт вместо VLC. Пакетный скрипт преобразует вывод в нечто пригодное для использования и запускает VLC.

Я также решил не использовать "vlc" в качестве имени протокола, потому что интерфейс командной строки для vlc использует это для некоторых вещей, вместо этого я использую "cvlc".

шаги:

  1. Откройте regedit и перейдите к HKEY_CLASSES_ROOT .
  2. Щелкните правой кнопкой мыши HKEY_CLASSES_ROOT и создайте новый ключ с именем cvlc .
  3. Нажмите на cvlc , а затем откройте в нем запись (Default) .
  4. В поле (Default) введите "URL:CVLC Protocol" .
  5. Щелкните правой кнопкой мыши HKEY_CLASSES_ROOT/cvlc и создайте новый ключ с именем Url Protocol .
  6. Щелкните правой кнопкой мыши HKEY_CLASSES_ROOT/cvlc и создайте новый ключ с именем Default Icon .
  7. В HKEY_CLASSES_ROOT/cvlc/Default Icon откройте (Default) и введите в нем "vlc.exe,1" .
  8. В HKEY_CLASSES_ROOT/cvlc создайте новый ключ с именем shell , в нем создайте ключ с именем open , в нем создайте ключ с именем command и откройте запись (Default) .
  9. В записи введите "C:\convert.bat" "%1" .
  10. Откройте Блокнот и создайте текстовый файл с надписью:
:: This batch script takes the input and removes 8 characters from the front, and then launches VLC with that altered
:: input set as the file path
set vlcdata=%1
"C:\Program Files (x86)\Video LAN\VLC Media Player\vlc.exe" "%vlcdata:~8%"
  1. Сохраните его как все типы файлов с именем convert.bat в C:\ .
  2. При первом открытии ссылки в Firefox вам нужно будет связать этот протокол с файлом bat, перейдя к нему и выбрав его для запоминания в будущем.
  3. Создайте папку с именем website на диске c: , добавьте файл с именем example.mp4 и файл HTML с именем example.html .
  4. В файле HTML введите: <a href="cvlc:///C:\website\example.mp4">Example Link</a> .

Заметки:

  • Поскольку для этого используется пакетный сценарий, откроется окно командной строки, и оно не закроется, пока не произойдет VLC.
  • При использовании локальных файлов в гиперссылках вы должны использовать \ not / .
  • Это работает в Firefox, но не в Internet Explorer, потому что протокол отсутствует в списке протоколов Windows и типов файлов. Поэтому Internet Explorer не знает, какую программу использовать для него. Я нашел ветку о добавлении пользовательского протокола в список типов файлов и сопоставлений протоколов Windows, но он еще не решен. https://stackoverflow.com/questions/186723/how-to-add-custom-protocol-to-vista-set-associations-list

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .