問題:動態創建多個video實例后,切換其他頁面后在切換回來,無法播放,控制台報警告id被占用!
思路:在生命周期beforeDestroy函數中銷毀創建的video實例。
代碼:
beforeDestroy(){ //(第三步)在銷毀之前拿到video實例
for(let i=0;i<this.playlist.length;i++){
this.playlist[i].dispose(); //(第四步)dispose()是官方的銷毀函數
}
},
mounted() {
setTimeout(_ => {
let lang=this.videolist.pageData.length //(第一步)這是多個視頻地址數組的長度
for(let i=0;i<lang;i++){
var player= videojs("my-video"+i, { //播放的事件
textTrackDisplay: false,
posterImage: true,
errorDisplay: false,
controlBar: true,
hls: {
withCredentials: true
}
}, function () {
// this.play() //取消自動播放
})
this.playlist.push(player) //(第二步)palylist是定義的空數組,存放多個視頻實例
}
}, 1000);
},
接上上篇博客《在vue項目中播放m3u8格式的視頻》
博客地址:https://www.cnblogs.com/cb1490838281/p/12331262.html
