html5视频播放器的浏览器兼容处理方法

2019/04/0723:30:04html5视频播放器的浏览器兼容处理方法已关闭评论 1,289

需要在移动端的网页上播放视频,一本我们会将是视频上传到知名网站,比如优酷网,再引入视频地址链接到自己网页,实现播放视频。优酷是flash实现的,现在的网页趋势是HTML5的方向,只是现在浏览器兼容性还差点,在网页播放一个视频只需要video标签就可以实现。

在文章“HTML视频(Videos)播放”,有说明video的使用方法。

浏览器大部分的网页视频播放情况如下:

<video width="320" height="240" controls="controls">
<source src="movie.mp4" type="video/mp4" />//播放文件地址
<source src="movie.ogg" type="video/ogg" />//播放文件地址
<source src="movie.webm" type="video/webm" />//播放文件地址
<object data="movie.mp4" width="320" height="240">//播放文件地址
<embed src="movie.swf" width="320" height="240" />//播放文件地址
</object>
</video>

因为不同的浏览器会有不同的支持播放视频的格式,如果有一个可以兼容浏览器所有格式同时还有好看好控制的插件多好,可以让主流浏览器兼容vedio标签的js插件:http://html5media.googlecode.com/svn/trunk/src/html5media.min.js
在web上播放视频还可以使用两种方式 内联视频和使用助手。所以我们可以借助一些助手来实现上面不支持的类型视频文件的播放(例如:quicktime)

综合以上两点的视频播放代码如下,一个好用的html视频播放器兼容主流浏览器的方法。

function showVideo(o,s,w, h, t){ //t文件格式
var _html = '';
if($.inArray(t, ['ogg', 'mp4', 'webm']) >= 0){ //html5 surport
var _doc=document.getElementsByTagName('head')[0];
var script=document.createElement('script');
script.setAttribute('type','text/javascript');
script.setAttribute('src','http://html5media.googlecode.com/svn/trunk/src/html5media.min.js');
_doc.appendChild(script);
script.onload=script.onreadystatechange=function(){
if(!this.readyState||this.readyState=='loaded'||this.readyState=='complete'){
_html = '<video src="'+s+'" width="'+w+'" height="'+h+'" controls autobuffer >';
_html += '</video>';
$(o).css({"width":w+'px', 'height':h+'px', 'cursor':'default'});
$(o).html(_html);
}
script.onload=script.onreadystatechange=null;
}
}else{ //other like 3gp
_html += '<object width="'+w+'" height="'+h+'" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab">';
_html += '<param name="src" value="'+s+'">';
_html += '<param name="controller" value="true">';
_html += '<param name="type" value="video/quicktime">';
_html += '<param name="autoplay" value="false">';
_html += '<param name="target" value="myself">';
_html += '<param name="bgcolor" value="black">';
_html += '<param name="pluginspage" value="http://www.apple.com/quicktime/download/index.html">';
_html += '<embed src="'+s+'" width="'+w+'" height="'+h+'" controller="true" autoplay="false" align="middle" bgcolor="black" target="myself" type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/index.html"></embed>';
_html += '</object>';
$(o).css({"width":w+'px', 'height':h+'px', 'cursor':'default'});
$(o).html(_html);
}
}

完毕。

 

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin