nuxt使用videojs播放flv格式视频

nuxt使用videojs播放flv格式视频

安装

npm i vue-video-player --save
npm i videojs-flash --save

一定要先安装vue-video-player,我也不知道什么原因,整了半天卸载npm包重新依次下载就好了

配置plugins

/plugins/vue-video.js

import Vue from 'vue';
import 'videojs-flash';
const VueVideoPlayer = require('vue-video-player/dist/ssr');
Vue.use(VueVideoPlayer);

配置nuxt.config.js

//引入css文件
css:[
	'video.js/dist/video-js.css'
]

//引入plugin
plugins: [
	{ src: '@/plugins/vue-video.js', ssr: false }
]

使用

/components/videoPlayer.vue
<template>
	<div class="video-player-box" :playsinline="playsinline" @play="onPlayerPlay($event)" @pause="onPlayerPause($event)" @ended="onPlayerEnded($event)" @loadeddata="onPlayerLoadeddata($event)" @waiting="onPlayerWaiting($event)" @playing="onPlayerPlaying($event)" @timeupdate="onPlayerTimeupdate($event)" @canplay="onPlayerCanplay($event)" @canplaythrough="onPlayerCanplaythrough($event)" @ready="playerReadied" @statechanged="playerStateChanged($event)" v-video-player:myVideoPlayer="playerOptions"></div>
</template>

<script>
export default {
	props: {
		videoSrc: {
			type: String,
			default: ""
		}
	},
	data() {
		return {
			// component options
			playsinline: true,
			// videojs options
			playerOptions: {
                autoplay: true, // 自动播放
                controls: true, // 是否显示控制栏
                language: 'zh-CN',
				techOrder: ["flash", "html5"], // 兼容顺序
				flash: { hls: { withCredentials: false } },
				html5: { hls: { withCredentials: false } },
                playbackRates: [0.7, 1.0, 1.5, 2.0], //倍速
                width: "804",
                height: "555",
				sources: [
					{
						type: "video/ogg",
						type: "video/webm",
						type: "video/mp4",
                        type: "video/flv",
						src: this.videoSrc
					}
				]
			}
		};
    },
	methods: {
		// listen event
		onPlayerPlay(player) {
			// console.log('player play!', player)
		},
		onPlayerPause(player) {
			// console.log('player pause!', player)
		},
		onPlayerEnded(player) {
			// console.log('player ended!', player)
		},
		onPlayerLoadeddata(player) {
			// console.log('player Loadeddata!', player)
		},
		onPlayerWaiting(player) {
			// console.log('player Waiting!', player)
		},
		onPlayerPlaying(player) {
			// console.log('player Playing!', player)
		},
		onPlayerTimeupdate(player) {
			// console.log('player Timeupdate!', player.currentTime())
		},
		onPlayerCanplay(player) {
			// console.log('player Canplay!', player)
		},
		onPlayerCanplaythrough(player) {
			// console.log('player Canplaythrough!', player)
		},
		// or listen state event
		playerStateChanged(playerCurrentState) {
			// console.log("player current update state", playerCurrentState);
		},
		// player is ready
		playerReadied(player) {
			// console.log("example 01: the player is readied", player);
		}
	}
};
</script>

<style lang="less" scoped>
.video-player-box {
	width: 100%;
	margin: 0 auto;
	min-height: 4.18rem;
}
</style>

完结

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值