因項目需求,而flash又不受歡迎,故借助 flvjs 來實現flv格式視頻流在線播放,具體解決方案如下:
1、安裝 flvjs :npm install --save flv.js
2、引用:import flvjs from 'flv.js'
3、HTML代碼:
<div class="video-box" v-for="(video,index) in videoList" :key="index"> <video :id="'video'+index" ref="videoElement" controls autoplay muted ></video> </div>
4、data中定義:
videoList:[ { src:'http://115.29.112.47:8000/live/XXXXX.flv' }, { src:'http://47.105.176.124:8000/live/XXXXX.flv' }, ],
5、methods中方法調用:
playVideo(){ this.vloading = true; this.videoList.forEach((item,index) => { if (flvjs.isSupported()) { let player = null; let videoElement = document.getElementById("video" + index); player = flvjs.createPlayer({ type: "flv", //=> 媒體類型 flv 或 mp4 isLive: true, //=> 是否為直播流 hasAudio: false, //=> 是否開啟聲音 url: item.src, //=> 視頻流地址 }); player.attachMediaElement(videoElement); //=> 綁DOM player.load(); player.play(); } else { this.$message.error('不支持flv格式視頻') } this.vloading = false; }) },
6、created或mounted中調用:
this.playVideo(); //視頻加載
PS:我與春風皆過客,你攜秋水攬星河,三生有幸遇見你,縱使悲涼也是情!