我已经看到Steam,Spotify等应用程序能够在用户允许弹出框中的调用后从Chrome内部启动本机应用程序。如何从我自己的网站,VLC或默认的系统视频流应用程序中执行此操作。
答案 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。要完全回答您的要求:
如果您正在使用Web技术,那么除了Java插件,Flash,ActiveX或SilverLight之外,您可能别无选择地执行外部应用程序。
如果您使用的是本机技术(C / C ++,Objective-C等)。您可以使用Exec ...更具体地说,在Mac OSx上,您可能想要参考Execute a terminal command from a Cocoa app