[官网]http://www.videojs.com/javascript
videojs就提供了这样一套解决方案,他是一个兼容HTML5的视频播放工具,早期版本兼容全部浏览器,方法是:提供三个后缀名的视频,并在不支持html5的浏览器下生成一个flash的版本。css
最新的版本
下载-5.8.0-releases版本html
video.js/ ├── alt │ ├── video.novtt.js │ ├── video.novtt.min.js │ └── video.novtt.min.js.map ├── examples/ ├── font │ ├── VideoJS.eot │ ├── VideoJS.svg │ ├── VideoJS.ttf │ └── VideoJS.woff ├── ie8 │ ├── videojs-ie8.js │ └── videojs-ie8.min.js ├── lang/ ├── video-js-5.8.0.zip ├── video-js.css ├── video-js.min.css ├── video-js.swf ├── video.js ├── video.js.map ├── video.min.js └── video.min.js.map
引用脚本,videojs很为你着想,直接cdn了,你都不须要下载这些代码放入本身的网站html5
<link href=”http://vjs.zencdn.net/c/video-js.css” rel=”stylesheet”> <script src=”http://vjs.zencdn.net/c/video.js”></script>
若是须要支持IE8,这个js能够自动生成flashjava
<!-- If you'd like to support IE8 --> <script src="http://vjs.zencdn.net/ie8/1.1.2/videojs-ie8.min.js"></script>
页面中加入一个Html5的video标签ios
<video id="my_video_1" class="video-js vjs-default-skin" controls preload="auto" width="640" height="264" poster="my_video_poster.png" data-setup="{}"> <source src="my_video.mp4" type="video/mp4"> <source src="my_video.webm" type="video/webm"> </video>
其中post就是视频的缩略图,那俩source一个指向mp4视频,一个指向webm视频,在页面加载过程当中,video.js会判断浏览器支持哪一个格式视频,会自动加载可播放的视频。
简单吧!git
获取对象:
后面那个就是就是video标签的id值,这是myPlayer就是播放器对象了。github
videojs("my-video").ready(function(){ window.myPlayer = this; // EXAMPLE: Start playing the video. myPlayer.play(); });
获取对象web
var videoObj = videojs(“videoId”);api
ready:
myPlayer.ready(function(){ //在回调函数中,this表明当前播放器, //能够调用方法,也能够绑定事件。 })
播放:
myPlayer.play();
暂停:
myPlayer.pause();
获取播放进度:
var whereYouAt = myPlayer.currentTime();
设置播放进度:
myPlayer.currentTime(120);
视频持续时间,加载完成视频才能够知道视频时长,且在flash状况下无效
var howLongIsThis = myPlayer.duration();
缓冲,就是返回下载了多少
var whatHasBeenBuffered = myPlayer.buffered();
百分比的缓冲
var howMuchIsDownloaded = myPlayer.bufferedPercent();
声音大小(0-1之间)
var howLoudIsIt = myPlayer.volume();
设置声音大小
myPlayer.volume(0.5);
取得视频的宽度
var howWideIsIt = myPlayer.width();
设置宽度:
myPlayer.width(640);
获取高度
var howTallIsIt = myPlayer.height();
设置高度:
myPlayer.height(480);
一步到位的设置大小:
myPlayer.size(640,480);
全屏
myPlayer.enterFullScreen();
离开全屏
myPlayer.enterFullScreen();
durationchange ended //播放结束 firstplay fullscreenchange loadedalldata loadeddata loadedmetadata loadstart pause //暂停 play //播放 progress seeked seeking timeupdate volumechange waiting resize inherited var myFunc = function(){ // Do something when the event is fired };
myPlayer.on("ended", function(){ console.log("end", this.currentTime()); }); myPlayer.on("pause", function(){ console.log("pause") });
myPlayer.removeEvent(“eventName”, myFunc);
虽然文章说明在不支持html5的状况下,会以flash播放,但在支持html5的firefox下播放mp4时,却遇到很大的困难,虽然调用了flash,但一直没法播放(不过我也一直怀疑个人firefox下的flash有问题,不知道是否是真的)。不过若是你遵从videojs的建议,放两个格式的视频,就不会有这个问题了。
另外video的写法中还有专门针对flash的写法,固然你也能够用这个插件实现纯粹的flash播放(只写flash那部分就好,能够保证统一的浏览效果,不过iOS的浏览器不兼容flash,这就要你本身进行判断来处理