VLC流媒体&x27;更改src onclick';javascript代码可以听到声音/can';我看不到视频

VLC流媒体&x27;更改src onclick';javascript代码可以听到声音/can';我看不到视频,javascript,stream,innerhtml,vlc,Javascript,Stream,Innerhtml,Vlc,我正在尝试将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= "

我正在尝试将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似乎是未定义的

问题1。有没有办法更改对象的src?能给我举个例子吗

我找不到方法,所以每当单击通道按钮时,我就用javascript创建对象,并将src作为变量:

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;
此代码确实显示udp,并且显示在函数运行后udp确实发生了更改。然而,尽管udp更改了视频,但由于某些原因,视频实际上并没有切换到该频道。(我已检查通道是否不同)

第三季度。如何让视频也更新

回答

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


现在,我只需要对它进行适当的编码,使其适用于每个频道。

这并不是插件的工作方式——它们不必观察DOM的变化。标签用于为插件提供初始化值;要在初始化后执行任何操作,您需要使用某种特定于插件的API。这里记录了VLC:(这是插件的“围墙花园”方法很糟糕的部分原因。)看看API文档,我的方法是将频道URL添加到插件的播放列表中,记住数字,然后在单击按钮时切换播放列表。F是!非常感谢。我添加了var vlc=document.getElementById(“vlcplayer”);vlc.playlist.add(“udp://@239.0.10.115:1234”);vlc.播放列表.播放项(1);而且它有效!我不会硬编码
1
add()
返回您刚才添加的项目的编号,使用该编号。是的,只是用于测试
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;
<param name="Src" value= "udp://@239.0.10.112:1234"> 
<param name="Src" value= "udp://@239.0.10.112:1234" id ="videoSrc">  
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);
var vlc = document.getElementById("vlcplayer");
vlc.playlist.add("udp://@239.0.10.115:1234");
vlc.playlist.playItem(1);