在OSX上使用VLC打开链接

时间:2016-01-15 02:55:48

标签: macos protocols launcher external-application

我已经看到Steam,Spotify等应用程序能够在用户允许弹出框中的调用后从Chrome内部启动本机应用程序。如何从我自己的网站,VLC或默认的系统视频流应用程序中执行此操作。

2 个答案:

答案 0 :(得分:12)

当然,Safari会为rtmp://链接打开VLC,例如

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

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

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

您可以通过将OS X应用添加到.plist来指定您可以打开的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>

如果您想要使用HTTPS URI提供VLC(默认情况下此URI将在Safari中打开),您可以做一个技巧:准备.m3u播放列表文件,其中包含https://条目并进行此操作文件可通过其他协议(默认应用程序为VLC)提供,如RSTP或SFTP。

答案 1 :(得分:0)

不要假设用户已安装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
    3. 的一个
  2. 如果您使用的是本机技术(C / C ++,Objective-C等)。您可以使用Exec ...更具体地说,在Mac OSx上,您可能想要参考Execute a terminal command from a Cocoa app