使用Javascript更改ActiveX视频播放器源代码
Alter ActiveX video player source using Javascript
这是我在网页中嵌入的ActiveX控件:
<object id="MediaPlayer1"
CLASSID="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95"
codebase="http://activex.microsoft.com/activex/controls/mplayer/ en/nsmp2inf.cab#Version=5,1,52,701"
standby="Loading Microsoft Windows® Media Player components..."
TYPE="application/x-oleobject"
width="280"
height="256">
<param name="fileName" value="/media/paul.avi">
<param name="animationatStart" value="true">
<param name="transparentatStart" value="true">
<param name="autoStart" value="false">
<param name="showControls" value="true">
<param name="Volume" value="-20">
<embed type="application/x-mplayer2"
pluginspage="http://www.microsoft.com/Windows/MediaPlayer/"
src="/media/paul.avi"
name="MediaPlayer1"
width=280
height=256
autostart=1
showcontrols=1
volume=-20>
</object>
Javascript有办法控制fileName
的值和embed
标签的src吗?我使用了一种方法,有点像我只需要一个普通的html5视频,这里是:
function vidSwap(vidURL) {
var myVideo = document.getElementsByTagName('video')[0];
myVideo.src = vidURL;
myVideo.load();
myVideo.play();
}
我很确定document.getElementsByTagName('video')[0]
抓取了页面中的第一个<video>
标签,但如果我试图在<object>
标签中获取一些内容,它会沿着document.getElementsByTagName('param')[0]
的行,同样也会与<embed>
:document.getElementsByTagName('embed')[0]
一样吗?
我对以下内容做了一些实验,它似乎有效;只需在嵌入标签中添加一个id,查找它,然后更改您想要的任何值:
<html><head></head><body>
<object id="MediaPlayer1"
CLASSID="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95"
codebase="http://activex.microsoft.com/activex/controls/mplayer/
en/nsmp2inf.cab#Version=5,1,52,701"
standby="Loading Microsoft Windows® Media Player components..."
TYPE="application/x-oleobject"
width="280"
height="256">
<param name="fileName" value="/media/paul.avi">
<param name="animationatStart" value="true">
<param name="transparentatStart" value="true">
<param name="autoStart" value="false">
<param name="showControls" value="true">
<param name="Volume" value="-20">
<embed type="application/x-mplayer2"
id="myEmbededTag"
pluginspage="http://www.microsoft.com/Windows/MediaPlayer/"
src="/media/paul.avi"
name="MediaPlayer1"
width=280
height=256
autostart=1
showcontrols=1
volume=-20>
</object>
<script type="text/javascript">
// Look up the ID, and get a ref. to it:
var element = document.getElementById('myEmbededTag');
alert(element.src);
element.src = 'http://example.com/yourvideo.avi';
alert(element.src);
</script>
</body>
</html>
根据下面2月30日的评论进行更新:
这在某种程度上取决于你什么时候想这样做;假设你只想设置源代码,并在页面加载完成时启动视频,那么你可以这样做(用以下内容替换之前的JavaScript部分):
<script type="text/javascript">
window.onload = function(){
var element = document.getElementById('myEmbededTag');
alert(element.src);
element.src = 'http://www.rabiner.com/files/David_Rabiner.wmv';
alert(element.src);
}
</script>
(注意,我不知道示例视频是关于什么的,我只是挑选了一些完全随机的示例视频…)
最终更新:
我不确定这是否是解决问题的理想/完美方法(感觉有点粗糙),但你可能会做这样的事情:
<a href="#"
onclick="javascript:SetVid('http://www.rabiner.com/files/David_Rabiner.wmv');">
Click to set value
</a>
<script type="text/javascript">
var SetVid = function(videoUrl){
var element = document.getElementById('myEmbededTag');
alert(element.src);
element.src = videoUrl;
alert(element.src);
}
</script>
相关文章:
- 如何检查用户在html5视频播放器中观看了完整的视频
- 音乐播放器使用相同的id播放所有内容
- 在FF和IE中使用vimeo播放器的问题-加载flash播放器而不是使用HTML5播放器
- 使用HTML5播放器时使用Javascript更改Youtube视频
- 可以't根据设备自动调整youtube播放器的大小
- html5视频播放器和视频js之间的关系
- 有没有办法在dailymotion播放器的新测试版中播放youtube视频
- 我可以共享一个HTML播放器吗
- 动态加载的自定义javascript/jQuery/HTML5音频播放器的问题
- 我们如何在dailymotion播放器的新测试版中播放youtube视频
- 角度媒体播放器和动态内容
- Javascript::通过HTML5音频播放器播放列表播放多个音频文件
- HTML5、CSS3和/或JS中旋转CD上的音频播放器
- 用于播放背景音乐的嵌入式flash播放器在IE浏览器中不起作用
- 在选择更改时更改从外部javascript生成的flash播放器
- 视频播放器错误promise DOMException中未捕获
- html视频播放器并不总是从src读取
- 加载Soundcloud嵌入式播放器OnClick在FireFox中不工作
- 使用Javascript更改ActiveX视频播放器源代码
- 使用jquery更改源代码后重新加载video.js播放器