[官網]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,這就要你本身進行判斷來處理