1. 程式人生 > >HTML5的視訊播放器videojs

HTML5的視訊播放器videojs

       



html5的標準還沒有最終確定,但關於視訊播放器的標準基本上被卡住了。mazilla和Opera由於沒有H264的版權,堅持不支援H264標準的mp4格式視訊,只支援ogg和webm兩種格式,其中webm是谷歌去年提供的一個新的標準,並將該格式開源;ogg似乎是早期的一種手機視訊的格式,這個瞭解不多。但也許mp4視訊效果比較好,現在應用比較廣。而IE9、safari、chrome三大廠商不擔心版權問題,都提供了對H264的支援。所以當前相容所有支援html5的視訊播放方案差不錯都是這樣:
對同一視訊提供三種格式,即mp4、webm、ogg,但其實仔細想想,只需要提供兩種:mp4和webm,就可以了。
videojs就提供了這樣一套解決方案,他是一個相容html5的視訊播放工具,早期版本相容所有瀏覽器,方法是:提供三個字尾名的視訊,並在不支援html5的瀏覽器下生成一個flash的版本。

最新的3.1.0版本優化了之前的做法,只需要提供兩個格式的視訊,頁面製作起來更加方便,只有兩步走:
1、引用指令碼,videojs很為你著想,直接cdn了,你都不需要下載這些程式碼放入自己的網站
<link href=”http://vjs.zencdn.net/c/video-js.css” rel=”stylesheet”>
<script src=”http://vjs.zencdn.net/c/video.js”></script>
2、頁面中加入一個html5的video標籤,要這麼加:
<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會判斷瀏覽器支援哪個格式視訊,會自動載入可播放的視訊。
簡單吧!

進階:使用api

獲取物件:
var myPlayer = _V_(“my_video_1″);
後面那個就是就是video標籤的id值,這是myPlayer就是播放器物件了。

播放:
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();

新增事件
var myFunc = function(){
// Do something when the event is fired
};
myPlayer.addEvent(“eventName”, myFunc);
刪除事件
myPlayer.removeEvent(“eventName”, myFunc);

所有事件列表: