脚步:

脚步:

在此处输入图片描述

尝试将自定义协议添加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

正如 Daniel B 在评论中所说,问题不在于我如何设置协议,而在于 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. 打开记事本,创建一个文本文件,内容如下:
:: 此批处理脚本接受输入并从前面删除 8 个字符,然后使用修改后的
::输入设置为文件路径
设置 vlcdata=%1
“C:\Program Files (x86)\Video LAN\VLC Media Player\vlc.exe” “%vlcdata:~8%”
  1. 将其保存为所有文件类型,名称convert.batC:\
  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

相关内容