use*_*658 5 javascript vlc stream innerhtml
我正在尝试将vlc播放器(版本1.1.8,实时流,Internet Explorer)添加到我的webpag中,并通过单击其中一个按钮让用户能够更改频道.
<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>
Run Code Online (Sandbox Code Playgroud)
上面的代码工作正常,我可以听到并看到视频,但我不知道如何在点击(udp/channel)时更改Src值.我试着使用代码:
document.getElementById('vlcplayer').src = 'udp://@239.0.10.105:1234'
Run Code Online (Sandbox Code Playgroud)
但这不起作用.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;
Run Code Online (Sandbox Code Playgroud)
然而,这段代码的问题是我无法看到视频,但我可以听到它,我可以听到频道的变化.
Q2.这是一些软件问题还是我的编码错了?我如何解决它?
UPDATE
我试图在新的测试版本中进行以下更改
在对象中我添加了一个id:
<param name="Src" value= "udp://@239.0.10.112:1234">
Run Code Online (Sandbox Code Playgroud)
被改为
<param name="Src" value= "udp://@239.0.10.112:1234" id ="videoSrc">
Run Code Online (Sandbox Code Playgroud)
然后在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);
Run Code Online (Sandbox Code Playgroud)
此代码显示udp,它显示udp在函数运行后确实发生了变化.但是,尽管udp发生了变化,但由于某些原因,视频实际上并没有切换到该频道.(我检查过频道不同)
Q3.如何更新视频?
ANSWERED
在播放列表中添加了一个项目(原始src值设置为播放列表项目0顺便说一句)
var vlc = document.getElementById("vlcplayer");
vlc.playlist.add("udp://@239.0.10.115:1234");
vlc.playlist.playItem(1);
Run Code Online (Sandbox Code Playgroud)
现在我只需要正确编码它以适用于每个频道.