播放m3u8 用vue-video-player
千萬不能自己安裝 videojs佃却、千萬不能自己安裝 videojs、千萬不能自己安裝 videojs贡未、
? ? ? ? ? ? ? ? npm install vue-video-player?--save
? ? ? ? ? ? ? ? npm install?--save videojs-contrib-hls
main.js 中
import VideoPlayer from 'vue-video-player'
require('video.js/dist/video-js.css')
require('vue-video-player/src/custom-theme.css')
const hls =require("videojs-contrib-hls")
Vue.use(hls)
Vue.use(VideoPlayer)
引用頁面
<video-player? class="video-player vjs-custom-skin"
? ? ? ? ? ? ? ? ref="videoPlayer"
? ? ? ? ? ? ? ? :playsinline="true"
? ? ? ? ? ? ? ? :options="playerOptions"
? ? ? ? ? ? ? ? @play="onPlayerPlay($event)"
? ? ? ? ? ? ? ? @pause="onPlayerPause($event)"
? ? ? ? ? ? ? >
playerOptions: {
? ? ? ? playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度
? ? ? ? autoplay: false, // 如果true,瀏覽器準(zhǔn)備好時(shí)開始回放。
? ? ? ? muted: false, // 默認(rèn)情況下將會(huì)消除任何音頻。
? ? ? ? loop: false, // 導(dǎo)致視頻一結(jié)束就重新開始。
? ? ? ? preload: 'auto', // 建議瀏覽器在
加載元素后是否應(yīng)該開始下載視頻數(shù)據(jù)舱污。auto瀏覽器選擇最佳行為,立即開始加載視頻(如果瀏覽器支持)
? ? ? ? language: 'zh-CN',
? ? ? ? aspectRatio: '16:9', // 將播放器置于流暢模式呀舔,并在計(jì)算播放器的動(dòng)態(tài)大小時(shí)使用該值弥虐。值應(yīng)該代表一個(gè)比例 - 用冒號(hào)分隔的兩個(gè)數(shù)字(例如"16:9"或"4:3")
? ? ? ? fluid: true, // 當(dāng)true時(shí),Video.js player將擁有流體大小媚赖。換句話說霜瘪,它將按比例縮放以適應(yīng)其容器。
? ? ? ? sources: [
? ? ? ? ? {
? ? ? ? ? ? src:' https://oss.test.lesmartx.com/SP/lesmart/T600202101230000002/live/room/900-8325114-986802/videos/o-vod.m3u8',
? ? ? ? ? ? type: 'application/x-mpegURL', // 這里的種類支持很多種:基本視頻格式惧磺、直播颖对、流媒體等,具體可以參看git網(wǎng)址項(xiàng)目
? ? ? ? ? ? // type:"video/mp4",
? ? ? ? ? ? //? src: 'https://oss.test.lesmartx.com/SP/lesmart/T600202101230000002/live/room/900-8324913-659955/videos/66132143455001813715294126897663772535.mp4' // url地址
? ? ? ? ? }
? ? ? ? ],
? ? ? ? hls: true,
? ? ? ? poster: '', // 你的封面地址
? ? ? ? width: document.documentElement.clientWidth, // 播放器寬度
? ? ? ? notSupportedMessage: '此視頻暫無法播放磨隘,請(qǐng)稍后再試', // 允許覆蓋Video.js無法播放媒體源時(shí)顯示的默認(rèn)信息缤底。
? ? ? ? controlBar: {
? ? ? ? ? timeDivider: true,
? ? ? ? ? durationDisplay: true,
? ? ? ? ? remainingTimeDisplay: false,
? ? ? ? ? fullscreenToggle: true // 全屏按鈕
? ? ? ? }
? ? ? },
computed: {
? ? player() {
? ? ? return this.$refs.videoPlayer.player//自定義播放
? ? },
? methods: {
onPlayerPlay(play){
? ? ? play.play()
? ? },
? ? onPlayerPause(player) {
? ? ? console.log("pause");
? ? ? },
},