系統城裝機大師 - 唯一官網:www.farandoo.com!

當前位置:首頁 > 網絡編程 > JavaScript > 詳細頁面

Js視頻播放器插件Video.js使用方法詳解

時間:2020-02-05來源:系統城作者:電腦系統城

Video.js快速入門

我們可以下載 Video.js 的源碼放到自己的服務器上,或者使用免費的 CDN 托管版本。

在頁面中引用video-js.cs樣式文件和video.js


 
  1. <link href="video-js.css" rel="external nofollow" rel="stylesheet" type="text/css">
  2. <script src="video.js"></script>

使用免費的CDN托管版本


 
  1. <link href="http://vjs.zencdn.net/4.12/video-js.css" rel="external nofollow" rel="stylesheet">
  2. <script src="http://vjs.zencdn.net/4.12/video.js"></script>

設置flash路徑,Video.js會在不支持html5的瀏覽中使用flash播放視頻文件


 
  1. <script>
  2. videojs.options.flash.swf = "video-js.swf";
  3. </script>

引入video標簽,進行視頻播放


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

如果需要設置自動播放,將下面代碼加到video后面

播放按鈕居中

默認情況下,大的播放按鈕是被定為在左上角的,這樣就不會覆蓋視頻內容。如果你想讓這個播放按鈕居中,你可以給你的 video 標簽添加額外的 vjs-big-play-centered 樣式.如果你還對播放按鈕樣式不滿意可重新定義.video-js .vjs-big-play-button{/*這里的樣式重寫*/}。


 
  1. <video id="xttblog" class="video-js vjs-default-skin vjs-big-play-centered"
  2. controls preload="auto" width="640" height="264"
  3. poster="http://www.xttblog.com/test/oceans-clip.png"
  4. data-setup='{"example_option":true}'>
  5. </video>

為動態加載的HTML元素設置Video.js

web 頁面或者應用是動態加載 video 標簽的(ajax,appendChild),這樣在頁面加載后這個元素是不存在的,那么你會想要手動設置播放器而不是依靠 data-setup 屬性。要做到這一點,首先將 data-setup 屬性從 video 標簽中移除掉,這樣在播放器初始化的時候就不會混亂了。


 
  1. videojs("xttblog", {}, function(){
  2. // Player (this) is initialized and ready.
  3. });

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

第二個參數是一個選項對象。它允許你像設置 data-setup 屬性一樣設置額外的選項。

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

你也可以傳入一個元素本身的引用來代替元素ID:


 
  1. videojs(document.getElementById('example_video_1'), {}, function() {
  2. // This is functionally the same as the previous example.
  3. });
  4. videojs(document.getElementsByClassName('awesome_video_class')[0], {}, function() {
  5. // You can grab an element by class if you'd like, just make sure
  6. // if it's an array that you pick one (here we chose the first).
  7. });

如果您無法播放內容,您得確保使用了 正確的格式,你的 HTTP 服務器可能無法提供正確的 MIME類型 的內容

Video.js的詳細使用方法如下


 
  1. var videoObj = videojs(“videoId”);

ready:


 
  1. myPlayer.ready(function(){
  2. //在回調函數中,this代表當前播放器,
  3. //可以調用方法,也可以綁定事件。
  4. })

播放:


 
  1. myPlayer.play();

暫停:


 
  1. myPlayer.pause();

獲取播放進度:


 
  1. var whereYouAt = myPlayer.currentTime();

設置播放進度:


 
  1. myPlayer.currentTime(120);

視頻持續時間,加載完成視頻才可以知道視頻時長,且在flash情況下無效


 
  1. var howLongIsThis = myPlayer.duration();

緩沖,就是返回下載了多少


 
  1. var whatHasBeenBuffered = myPlayer.buffered();

百分比的緩沖


 
  1. var howMuchIsDownloaded = myPlayer.bufferedPercent();

聲音大?。?-1之間)


 
  1. var howLoudIsIt = myPlayer.volume();

設置聲音大小


 
  1. myPlayer.volume(0.5);

取得視頻的寬度


 
  1. var howWideIsIt = myPlayer.width();

設置寬度:


 
  1. myPlayer.width(640);

獲取高度


 
  1. var howTallIsIt = myPlayer.height();

設置高度:


 
  1. myPlayer.height(480);

一步到位的設置大?。?/p>


 
  1. myPlayer.size(640,480);

全屏


 
  1. myPlayer.enterFullScreen();

離開全屏


 
  1. myPlayer.enterFullScreen();

添加事件


 
  1. durationchange
  2. ended //播放結束
  3. firstplay
  4. fullscreenchange
  5. loadedalldata
  6. loadeddata
  7. loadedmetadata
  8. loadstart
  9. pause //暫停
  10. play //播放
  11. progress
  12. seeked
  13. seeking
  14. timeupdate
  15. volumechange
  16. waiting
  17. resize inherited

 
  1. var myFunc = function(){
  2. // Do something when the event is fired
  3. };

事件綁定


 
  1. myPlayer.on("ended", function(){
  2. console.log("end", this.currentTime());
  3. });
  4.  
  5. myPlayer.on("pause", function(){
  6. console.log("pause")
  7. });

刪除事件


 
  1. myPlayer.removeEvent(“eventName”, myFunc);

一個頁面中有多個視頻,需要點擊后觸發bootstrap 的模態窗,再彈出視頻

html:


 
  1. <a videohref="//www.jb51.net/xxx.mp4" class="video_link"><img src="../images/xxx.jpg"/></a>

JS:


 
  1. $(".video_link").click(function() {
  2. var myPlayer = videojs('my-video');
  3. var videoUrl = $(this).attr("videohref");
  4. videojs("my-video", {}, function() {
  5. window.myPlayer = this;
  6. $("#mymoda .video-con #my-video source").attr("src", videoUrl);
  7. myPlayer.src(videoUrl);
  8. myPlayer.load(videoUrl);
  9. myPlayer.play();
  10. });
  11. $(".click-modal").click();
  12. });
  13. // 模態窗消失時,關閉視頻
  14. $('#mymoda').on('hidden.bs.modal', function() {
  15. myPlayer.pause();

更多關于Js視頻播放器插件的文章請點擊下面的相關鏈接

分享到:

相關信息

系統教程欄目

欄目熱門教程

人氣教程排行

站長推薦

熱門系統下載

jlzzjlzz亚洲乱熟在线播放