代码之家  ›  专栏  ›  技术社区  ›  Matt Joiner

在OSX上使用VLC打开链接

  •  15
  • Matt Joiner  · 技术社区  · 9 年前

    我看到Steam、Spotify等应用程序能够在用户允许在弹出框中调用后,从Chrome内部启动本地应用程序。我如何从我自己的网站上为VLC做这件事,或者如果做不到,我可以使用默认的系统视频流应用程序。

    2 回复  |  直到 9 年前
        1
  •  12
  •   tbodt    9 年前

    当然,例如,Safari将为 rtmp:// 链接,如

    <a target="_blank"  href="rtmp://zozolala.com">text</a>
    

    您可以从JavaScript调用视频播放器:

    window.open('rtmp://zozolala.com', '_blank');
    

    您可以通过将URL添加到.plist来指定OS X应用程序可以打开的URL:

    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>CFBundleURLIconFile</key>
            <string></string>
            <key>CFBundleURLName</key>
            <string>abc</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>abc</string>
            </array>
        </dict>
    </array>
    

    如果你想给VLC提供HTTPS URI(默认情况下,这个URI将在Safari中打开),你可以做一个技巧:准备 .m3u 播放列表文件 https:// 并通过其他协议(默认应用程序为VLC)(如RSTP或SFTP)提供该文件。

        2
  •  0
  •   Community CDub    7 年前

    不要假定用户安装了VLC。要准确回答您的请求:

    1. 如果您使用的是web技术,那么除了Java插件、Flash、ActiveX或SilverLight来执行外部应用程序之外,您可能别无选择。

      1. 这一个用于ActionScript(Flash): Execute external exe from projector flash
      2. 可能是你的Java插件 Executing an external program using process builder or apache commons exec
    2. 如果您使用的是本机技术(C/C++、Objective-C等)。您可以使用Exec…更具体地说,在Mac OSx上,您可能需要参考 Execute a terminal command from a Cocoa app