IE FireFox safari下javascript操作embed播放
关键词:IE Firefox safari JavaScript 控制 embed标签 播放 音频文件
问题描述:
embed标签接受到直播流以后在IE下可以通过play()和pause()方法得到很好的播放/暂停的控制,但在FireFox和safari 去无能为力,在Firefox和safari下可以正常的播放(在safari需要装media插件),但是就是通过play() 和pause()无法控制它的播放和暂停,问题的根源是Firefox和Safari不能很好的支持embed标签。就这个一个小问题耗了好多时间,恼火啊!
解决方法:
也许会有更好的方法,我的解决方法是这样的:当点击暂停按钮的时候,首先去判断浏览器的类型,如果不是IE就直接把Embed这个标签从DOM中remove掉,单点播放按钮的时候再把Embed标签动态加载到DOM中。就这样,问题解决了。
相关代码如下:
+展开
-HTML
<!--包含Embed标签的层-->
<div id="radio_container"><embed type="application/x-mplayer2" pluginspage="http://www.microsoft.com/windows/mediaPlayer/" id="player" src="http://pub.qmoon.net:8009/911pop" name="player" width="0" height="0" volume="100"> </embed></div>
<script type="text/javascript">
//暂定
var trnode=document.getElementById("player");
trnode.parentNode.removeChild(trnode);
//播放
var container=document.getElementById("radio_container");
var str="<embed type=\"application/x-mplayer2\" pluginspage=\"http://www.microsoft.com/windows/mediaPlayer/\" id=\"player\" src=\"http://直播流地址\" name=\"player\" width=\"0\" height=\"0\" volume=\"100\">";
container.innerHTML+=str;</script>
<div id="radio_container"><embed type="application/x-mplayer2" pluginspage="http://www.microsoft.com/windows/mediaPlayer/" id="player" src="http://pub.qmoon.net:8009/911pop" name="player" width="0" height="0" volume="100"> </embed></div>
<script type="text/javascript">
//暂定
var trnode=document.getElementById("player");
trnode.parentNode.removeChild(trnode);
//播放
var container=document.getElementById("radio_container");
var str="<embed type=\"application/x-mplayer2\" pluginspage=\"http://www.microsoft.com/windows/mediaPlayer/\" id=\"player\" src=\"http://直播流地址\" name=\"player\" width=\"0\" height=\"0\" volume=\"100\">";
container.innerHTML+=str;</script>
哈哈,希望能对某些朋友有所帮助哈^-^
来源:http://hi.baidu.com/mydelicious/blog/item/2c9af854f5a8525cd00906c0.html
加支付宝好友偷能量挖...