vue + video.js實(shí)現(xiàn)視頻列表頁
vue項目中做一個視頻列表頁和屎,本來用原生video標(biāo)簽來實(shí)現(xiàn)叹卷,由于考慮到手機(jī)瀏覽器兼容問題钞支,找了很多插件验夯,最后決定用video.js這個插件來實(shí)現(xiàn)郊楣。Video.js是一個有著HTML5背景的網(wǎng)絡(luò)視頻播放器憔恳。它同時支持HTM5和Flash視頻,簡單來說就是HTMl5 和 Flash 視頻播放器
安裝video.js
$ npm install video.js
在main.js中引用
import Video from 'video.js'
import 'video.js/dist/video-js.css'
Vue.prototype.$video = Video
頁面使用
<template>
<div class="hello">
<div v-for="(item,i) in list" :key="i" style="margin-bottom: 30px">
<video :id="'myVideo'+item.id" class="video-js">
<source :src="item.src" type="video/mp4">
</video>
</div>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
data(){
return {
list:[
{
src:'http://img.yopoo.cn/banner_video.mp4 ',
id:0,
pic:"",
},
{
src:'http://img.yopoo.cn/banner_video.mp4 ',
id:1,
pic:"",
},
{
src:'http://img.yopoo.cn/banner_video.mp4 ',
id:2,
pic:"",
}
]
}
},
mounted() {
this.initVideo();
},
methods: {
initVideo() {
//初始化視頻方法 循環(huán)列表獲取每個視頻的id
this.list.map((item,i)=>{
let myPlayer = this.$video('myVideo'+item.id, {
//確定播放器是否具有用戶可以與之交互的控件净蚤。沒有控件钥组,啟動視頻播放的唯一方法是使用autoplay屬性或通過Player API。
controls: true,
//自動播放屬性,muted:靜音播放
autoplay: "muted",
//建議瀏覽器是否應(yīng)在<video>加載元素后立即開始下載視頻數(shù)據(jù)今瀑。
preload: "auto",
//設(shè)置視頻播放器的顯示寬度(以像素為單位)
width: "800px",
//設(shè)置視頻播放器的顯示高度(以像素為單位)
height: "400px",
//封面圖
poster:item.pic
});
})
}
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
</style>
效果圖
以上就是實(shí)現(xiàn)的步驟和代碼 有什么問題歡迎大家評論和指出程梦。