在vue項目中播放m3u8格式視頻


前言:最近公司在做一個線上會議的項目,要求后台網站播放m3u8格式的視頻,查找部分資料,總結一下,方便后邊查閱

1.在vue工程中安裝以下依賴:

cnpm install  video.js --save
 cnpm install videojs-contrib-hls --save
//我使用的是淘寶鏡像源,下載會快一點,沒有用npm

2.在需要播放的頁面引入

import videojs from 'video.js'
import 'videojs-contrib-hls'

3.准備一個容器,我這里是視頻列表

<div v-for="(item,index) in this.videolist.pageData" :key="index">
        <div class="videoitem">

    
      //因為id唯一,在遍歷的時候給id加上下標,便於區分; poster是封面圖

          <video  :id="'my-video'+index" class="video-js vjs-default-skin imgs" 
            controls preload="auto" poster="../../images/huiyi.jpg">
              <source :src="item.url" type="application/x-mpegURL">
          </video>



          <div class="video_text">
            <h1 class="video_h1">標題 : <span>{{item.title}}</span></h1> 
            <p class="video_p">創建時間:<span>{{item.createDate}}</span></p> 
          </div>    
        </div>
      </div>

3.在mounted中獲取到初始化的視頻地址列表(在這里我做了一個粗暴的操作)

  mounted() {

     setTimeout(_ => {  
           let lang=this.videolist.pageData.length   //視頻長度
          for(let i=0;i<lang;i++){

              //id+i是為了id的唯一性

                videojs("my-video"+i, {   //播放的事件
                  textTrackDisplay: false,
                  posterImage: true,
                  errorDisplay: false,
                  controlBar: true,
                  hls: {
                    withCredentials: true
                  }
                }, function () {
                  // this.play()   //取消自動播放
                })
              }


        }, 1000);
  },   

4.最后效果圖

小結:記錄前端踩坑的日子

  

  

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM