5

我正在尝试将 vlc 播放器(版本 1.1.8、直播、Internet Explorer)添加到我的网页,并让用户能够通过单击其中一个按钮来更改频道。

<object type="application/x-vlc-plugin" 
id="vlcplayer" 
width="720px"
height="540px" 
classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"> 
<param name="Src" value= "udp://@239.0.10.115:1234">  
<param name="volume" value="100" />
<param name="autoplay" value="true" />
<param name="loop" value="false" />
<param name="fullscreen" value="true" />
</object>

上面的代码工作正常,我可以听到和看到视频,但我不知道如何在单击时更改 Src 值(udp/通道)。我尝试使用以下代码:

document.getElementById('vlcplayer').src = 'udp://@239.0.10.105:1234' 

但这不起作用,因为 .src 似乎未定义。

Q1。有没有办法改变对象的src?请问我可以举个例子吗?

我找不到方法,所以每当单击频道按钮时,我都会使用 src 作为变量在 javascript 中创建对象:

uri = 'udp://@239.0.10.115:1234';
VLCPlayerObject = '<object type="application/x-vlc-plugin" id="vlcplayer" width="720px"height="540px" classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"> <param name="Src" value= '+uri+'> <param name="volume" value="100" /><param name="autoplay" value="true" /><param name="loop" value="false" /><param name="fullscreen" value="true" /></object>'; 
document.getElementById('videoDisplayDivID').innerHTML=VLCPlayerObject;

然而,这段代码的问题是我看不到视频,但我能听到它,而且我能听到频道的变化。

Q2。这是一些软件问题还是我的编码错误?我如何解决它?

更新

我尝试在新的测试版本中进行以下更改

在对象中我添加了一个 id:

<param name="Src" value= "udp://@239.0.10.112:1234"> 

改为

<param name="Src" value= "udp://@239.0.10.112:1234" id ="videoSrc">  

然后在javascript代码中:

var temp = document.getElementById("videoSrc").getAttribute("value");
alert("old udp: " + temp);

var sourceParameter= document.getElementById("videoSrc");
sourceParameter.setAttribute("value", "udp://@239.0.10.115:1234");

var temp2 = document.getElementById("videoSrc").getAttribute("value");
alert("new udp: " + temp2);

此代码确实显示了 udp,并且它表明 udp 在函数运行后确实发生了变化。但是,尽管 udp 更改了视频,但由于某种原因实际上并没有切换到该频道。(我已经检查过频道是否不同)

Q3。如何让视频也更新?

已回答

向播放列表添加了一个项目(原始 src 值设置为播放列表项目 0 btw)

var vlc = document.getElementById("vlcplayer");
vlc.playlist.add("udp://@239.0.10.115:1234");
vlc.playlist.playItem(1);

现在我只需要正确编码它以适用于每个频道。

4

0 回答 0