1. 程式人生 > >video.js使用方法

video.js使用方法

文件地址參考:https://docs.videojs.com/tutorial-layout.html

1、下載video.js

連結:http://www.jq22.com/jquery-info404

2、在頁面中引入css和js檔案

 <link rel="stylesheet" href="video/video-js.min.css"/>
  <script src="video/videojs-ie8.min.js"></script>
  <script src="video/video.min.js"></script>

3、html,可以有三種格式

<video id="example_video_1" class="video-js vjs-default-skin" controls preload="none" width="640" height="264"
      poster="http://video-js.zencoder.com/oceans-clip.png"
      data-setup="{}">
    <source src="http://視訊地址格式1.mp4" type='video/mp4' />
    <source src="http://視訊地址格式2.webm" type='video/webm' />
    <source src="http://視訊地址格式3.ogv" type='video/ogg' />
    <track kind="captions" src="demo.captions.vtt" srclang="en" label="English"></track><!-- Tracks need an ending tag thanks to IE9 -->
    <track kind="subtitles" src="demo.captions.vtt" srclang="en" label="English"></track><!-- Tracks need an ending tag thanks to IE9 -->
</video>

4、設定自動播放

<script type="text/javascript">
    var myPlayer = videojs('example_video_1');
    videojs("example_video_1").ready(function(){
        var myPlayer = this;
        myPlayer.play();
    });
</script>

5、介紹

(1)、poster=‘**’播放初始圖

(2)、播放按鈕居中,可以加class樣式vjs-big-play-centered

6、注意事項

(1)、為動態載入的 HTML 元素設定 Video.js

如果你的 web 頁面或者應用是動態載入 video 標籤的(ajax,appendChild,等等),這樣在頁面載入後這個元素是不存在的,那麼你會想要手動設定播放器而不是依靠 data-setup 屬性。要做到這一點,首先將 data-setup屬性從 video 標籤中移除掉,這樣在播放器初始化的時候就不會混亂了。接下來,執行下面的 javascript ,有時在 Video.js 載入後,有時是在 video 標籤被載入進 DOM 後。

videojs 方法中的第一個引數是你的 video 標籤的 ID,用你自己的代替。

第二個引數是一個選項物件。它允許你像設定 data-setup 屬性一樣設定額外的選項。

第三個引數是一個 'ready' 回撥。一旦 Video.js 初始化完成後,就會觸發這個回撥。

videojs("example_video_1", {}, function(){
  // Player (this) is initialized and ready.
});

7、方法

ready:

myPlayer.ready(function(){
    //在回撥函式中,this代表當前播放器,
    //可以呼叫方法,也可以繫結事件。
})

播放

myPlayer.play()

暫停

myPlayer.pause()

獲取播放進度

var time=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);

設定大小

myPlayer.size(640,480);

全屏

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);

個頁面中有多個視訊,需要點選後觸發bootstrap 的模態窗,再彈出視訊

html

<a videohref="http://xxx.mp4" class="video_link"><img  src="../images/xxx.jpg"/></a>

JS

$(".video_link").click(function() {
    var myPlayer = videojs('my-video');
    var videoUrl = $(this).attr("videohref");
    videojs("my-video", {}, function() {
        window.myPlayer = this;
        $("#mymoda .video-con #my-video source").attr("src", videoUrl);
        myPlayer.src(videoUrl);
        myPlayer.load(videoUrl);
        myPlayer.play();
    });
    $(".click-modal").click();
});
// 模態窗消失時,關閉視訊    
$('#mymoda').on('hidden.bs.modal', function() {
    myPlayer.pause();
});

轉載自:http://www.jq22.com/jquery-info404