最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2020年02月04日 17:32:05   作者:北極熊愛吃魚  
Video.js 是一個(gè)通用的在網(wǎng)頁(yè)上嵌入視頻播放器的JS庫(kù),Video.js自動(dòng)檢測(cè)瀏覽器對(duì)HTML5的支持情況,如果不支持HTML5則自動(dòng)使用Flash 播放器,推薦大家好好看看

Video.js快速入門

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

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

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

使用免費(fèi)的CDN托管版本

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

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

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

引入video標(biāo)簽,進(jìn)行視頻播放

<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://www.fzitv.net/視頻地址格式1.mp4" type='video/mp4' />
  <source src="http://www.fzitv.net/視頻地址格式2.webm" type='video/webm' />
  <source src="http://www.fzitv.net/視頻地址格式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>

如果需要設(shè)置自動(dòng)播放,將下面代碼加到video后面

播放按鈕居中

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

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

為動(dòng)態(tài)加載的HTML元素設(shè)置Video.js

web 頁(yè)面或者應(yīng)用是動(dòng)態(tài)加載 video 標(biāo)簽的(ajax,appendChild),這樣在頁(yè)面加載后這個(gè)元素是不存在的,那么你會(huì)想要手動(dòng)設(shè)置播放器而不是依靠 data-setup 屬性。要做到這一點(diǎn),首先將 data-setup 屬性從 video 標(biāo)簽中移除掉,這樣在播放器初始化的時(shí)候就不會(huì)混亂了。

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

videojs 方法中的第一個(gè)參數(shù)是你的 video 標(biāo)簽的 ID,用你自己的代替。

第二個(gè)參數(shù)是一個(gè)選項(xiàng)對(duì)象。它允許你像設(shè)置 data-setup 屬性一樣設(shè)置額外的選項(xiàng)。

第三個(gè)參數(shù)是一個(gè) 'ready' 回調(diào)。一旦 Video.js 初始化完成后,就會(huì)觸發(fā)這個(gè)回調(diào)。

你也可以傳入一個(gè)元素本身的引用來(lái)代替元素ID:

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

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

Video.js的詳細(xì)使用方法如下

var videoObj = videojs(“videoId”);

ready:

myPlayer.ready(function(){
  //在回調(diào)函數(shù)中,this代表當(dāng)前播放器,
  //可以調(diào)用方法,也可以綁定事件。
})

播放:

myPlayer.play();

暫停:

myPlayer.pause();

獲取播放進(jìn)度:

var whereYouAt = myPlayer.currentTime();

設(shè)置播放進(jìn)度:

myPlayer.currentTime(120);

視頻持續(xù)時(shí)間,加載完成視頻才可以知道視頻時(shí)長(zhǎng),且在flash情況下無(wú)效

var howLongIsThis = myPlayer.duration();

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

var whatHasBeenBuffered = myPlayer.buffered();

百分比的緩沖

var howMuchIsDownloaded = myPlayer.bufferedPercent();

聲音大?。?-1之間)

var howLoudIsIt = myPlayer.volume();

設(shè)置聲音大小

myPlayer.volume(0.5);

取得視頻的寬度

var howWideIsIt = myPlayer.width();

設(shè)置寬度:

myPlayer.width(640);

獲取高度

var howTallIsIt = myPlayer.height();

設(shè)置高度:

myPlayer.height(480);

一步到位的設(shè)置大小:

myPlayer.size(640,480);

全屏

myPlayer.enterFullScreen();

離開全屏

myPlayer.enterFullScreen();

添加事件

durationchange
ended //播放結(jié)束
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);

一個(gè)頁(yè)面中有多個(gè)視頻,需要點(diǎn)擊后觸發(fā)bootstrap 的模態(tài)窗,再?gòu)棾鲆曨l

html:

<a videohref="http://www.fzitv.net/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();
});
// 模態(tài)窗消失時(shí),關(guān)閉視頻  
$('#mymoda').on('hidden.bs.modal', function() {
  myPlayer.pause();

更多關(guān)于Js視頻播放器插件的文章請(qǐng)點(diǎn)擊下面的相關(guān)鏈接

相關(guān)文章

  • 微信小程序 教程之WXML

    微信小程序 教程之WXML

    這篇文章主要介紹了微信小程序 教程WXML的相關(guān)資料,這里提供了簡(jiǎn)單實(shí)例,需要的朋友可以參考下
    2016-10-10
  • JavaScript設(shè)計(jì)模式之命令模式和狀態(tài)模式詳解

    JavaScript設(shè)計(jì)模式之命令模式和狀態(tài)模式詳解

    這篇文章主要為大家介紹了JavaScript設(shè)計(jì)模式之命令模式和狀態(tài)模式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 微信小程序 解析網(wǎng)頁(yè)內(nèi)容詳解及實(shí)例

    微信小程序 解析網(wǎng)頁(yè)內(nèi)容詳解及實(shí)例

    這篇文章主要介紹了微信小程序 解析網(wǎng)頁(yè)內(nèi)容詳解及實(shí)例的相關(guān)資料,這里使用爬蟲對(duì)復(fù)雜的網(wǎng)頁(yè)進(jìn)行抓取,遇到些問(wèn)題,這里整理下并解決,需要的朋友可以參考下
    2017-02-02
  • JavaScript架構(gòu)localStorage特殊場(chǎng)景下二次封裝操作

    JavaScript架構(gòu)localStorage特殊場(chǎng)景下二次封裝操作

    這篇文章主要為大家介紹了JavaScript架構(gòu)localStorage在特殊場(chǎng)景下的二次封裝操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 在博客園博文中添加自定義右鍵菜單的方法詳解

    在博客園博文中添加自定義右鍵菜單的方法詳解

    本文是DOM鼠標(biāo)事件的一個(gè)實(shí)際應(yīng)用。查看博客園的博客文章時(shí),有的文章非常長(zhǎng),卻沒(méi)有回到頂部按鈕;而且文章的點(diǎn)贊和評(píng)論都在文章最底部,使用時(shí)并不方便。所以使用自定義右鍵菜單來(lái)實(shí)現(xiàn)回到頂部、點(diǎn)贊、評(píng)論這三個(gè)主要功能,需要的朋友可以參考下
    2020-02-02
  • yocto queue微型隊(duì)列數(shù)據(jù)結(jié)構(gòu)源碼解讀

    yocto queue微型隊(duì)列數(shù)據(jù)結(jié)構(gòu)源碼解讀

    這篇文章主要為大家介紹了yocto queue微型隊(duì)列數(shù)據(jù)結(jié)構(gòu)源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • 微信小程序 Toast自定義實(shí)例詳解

    微信小程序 Toast自定義實(shí)例詳解

    這篇文章主要介紹了微信小程序 Toast自定義實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • 使用async?await處理錯(cuò)誤方法示例

    使用async?await處理錯(cuò)誤方法示例

    這篇文章主要為大家介紹了使用async?await處理錯(cuò)誤的方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • JavaScript與JQuery框架基礎(chǔ)入門教程

    JavaScript與JQuery框架基礎(chǔ)入門教程

    這篇文章主要介紹了jQuery和JavaScript入門基礎(chǔ)知識(shí)學(xué)習(xí)指南,jQuery是當(dāng)下最主流人氣最高的JavaScript庫(kù),需要的朋友可以參考下
    2021-07-07
  • 微信小程序獲取用戶openId的實(shí)現(xiàn)方法

    微信小程序獲取用戶openId的實(shí)現(xiàn)方法

    這篇文章主要介紹了微信小程序獲取用戶openId的實(shí)現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下
    2017-05-05

最新評(píng)論

通渭县| 福鼎市| 东宁县| 苗栗县| 左云县| 随州市| 通山县| 镇江市| 西贡区| 湖南省| 灵璧县| 高尔夫| 四川省| 南雄市| 东兴市| 万全县| 阿合奇县| 普洱| 宁德市| 扶绥县| 綦江县| 吴忠市| 运城市| 扶风县| 屯留县| 芮城县| 琼中| 巫山县| 泰宁县| 乾安县| 右玉县| 昌平区| 贵阳市| 和田市| 安顺市| 南康市| 石林| 高青县| 万全县| 邹平县| 赫章县|