2

我在网络浏览器 IE9 上使用 vlc ActiveX 插件来播放视频直播。

它在 IE8 中完美运行,但是当我将浏览器从 IE8 更新到 IE9 时,它不会播放视频文件或直播。

这是我的代码。

<object type="application/x-vlc-plugin" id="vlc" width="517" height="388" classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921">
                    <param name="MRL" id="mrlVideo" value="" />
                    <param name="volume" value="50" />
                    <param name="autoplay" value="True" />
                    <param name="loop" value="false" />
                    <param name="fullscreen" value="false" />
                    <param name="wmode" value="transparent" />
                    <param name="toolbar" value="true" />
                    <param name="windowless" value="true" />
                </object>

在javascript中我正在使用这些

 var vlc = document.getElementById("vlc");
        var options = new Array(":rtsp-tcp"); 
        var urlVideofile = "hppt://IP:portnumber/"
        var id = vlc.playlist.add(urlVideofile, null, options);
        vlc.playlist.playItem(id);

这是附件图片,显示了即将发生的错误

在此处输入图像描述

任何帮助是极大的赞赏

谢谢。

4

2 回答 2

1

JavaScript 区分大小写。您需要访问vlc.playlist(not vlc.Playlist)、调用vlc.playlist.add(not vlc.Playlist.Add) 和vlc.playlist.play(not vlc.playlist.Play)。IE9 的 JavaScript 引擎比以前版本的 IE 更符合标准,这可能允许对 ActiveX/COM API 进行不区分大小写的访问

此外, VLC 2.0.6 中引入了一个破坏 ActiveX API 的错误,因此您需要使用 VLC 2.0.5 或更早版本。(尽管 #8627 中说明了这个问题,但这个问题在 VLC 2.0.7 中并未得到修复,由于某种原因,它似乎仍然包含 2.0.6 ActiveX 插件。)

于 2013-07-03T04:50:33.853 回答
0

我们找到了解决方案

//var options = [":rtsp-tcp"]; //commented out

//replace the line above with this.Note the CSA key is pre-pended with:
var options = [":ts-csa-ck="+EncryptionkeyValue]; 

//options.push("ts-csa-ck=EncryptionkeyValue");  //commented out as its above now
var itemId = vlc.playlist.add(targetURL, "", options); // continue as normal
var id = vlc.playlist.add(urlVideofile, null, options);
vlc.playlist.playItem(id);

它适用于包括最高版本的 IE8、IE9、IE10、Chrome 和 FF 在内的浏览器。

谢谢

于 2013-08-01T06:17:23.983 回答