vue-video-player键盘控制实现快进退,音量加减

1、在包裹video的div中添加:@keyup="keyup($event)"


					

2、在data定义所需要的数据变量


	data() {
		return {
			playerOptions: {
				playbackRates: [0.7, 1.0, 1.5, 2.0], // 播放速度
				autoplay: false, //如果true,浏览器准备好时开始回放。
				muted: false, // 默认情况下将会消除任何音频。
				loop: false, // 导致视频一结束就重新开始。
				preload: 'auto', // 建议浏览器在

3、实现方法


		keyup(key) {
			console.log('videoPlayer', this.$refs.videoPlayer)
			var vol = 0.1 //1代表100%音量,每次增减0.1
			var time = 10 //单位秒,每次增减10秒
			// 按向上键
			if (key.keyCode == 38) {
				this.$refs.videoPlayer.player.cache_.lastVolume !== 1
					? (this.$refs.videoPlayer.player.cache_.lastVolume += vol)
					: 1
				this.$refs.videoPlayer.player.volume(
					this.$refs.videoPlayer.player.cache_.lastVolume
				)
			}
			// 按向下键
			if (key.keyCode == 40) {
				this.$refs.videoPlayer.player.cache_.lastVolume !== 0
					? (this.$refs.videoPlayer.player.cache_.lastVolume -= vol)
					: 1
				this.$refs.videoPlayer.player.volume(
					this.$refs.videoPlayer.player.cache_.lastVolume
				)
			}
			// 按左键
			if (key.keyCode == 37) {
				this.$refs.videoPlayer.player.cache_.currentTime !== 0
					? (this.$refs.videoPlayer.player.cache_.currentTime -= time)
					: 1
				this.$refs.videoPlayer.player.currentTime(
					this.$refs.videoPlayer.player.cache_.currentTime
				)
			}
			// 按右键
			if (key.keyCode == 39) {
				this.$refs.videoPlayer.player.cache_.currentTime !==
				this.$refs.videoPlayer.player.cache_.duration
					? (this.$refs.videoPlayer.player.cache_.currentTime += time)
					: 1
				this.$refs.videoPlayer.player.currentTime(
					this.$refs.videoPlayer.player.cache_.currentTime
				)
			}
		},

这样就能在vue项目中pc端实现键盘操作快进快退,音量调大小了;

ps:有一个弊端,就是必须鼠标选中视频区域才能实现这一效果,没选中视频区域则无法实现,至今未能解决,另外在全屏时可触发事件实现效果(移动端还需另写js)。如果有好的方法欢迎解答!

还有一种方法可移步我另一个笔记文章   vue项目视频实现键盘快进快退,音量调大小_唐屁屁-CSDN博客

如果觉得vue-video-player和h5 video不好用

可以看我另一个播放视频控件

vue引用DPlayer播放器_唐屁屁儿的博客-CSDN博客_dplayer集成vue

这个控件没有快进快退音量调节需要必须选中视频区域问题,个人觉得比vue-video-player和h5 video 这俩好用

你可能感兴趣的:(播放器,JS,vue,vue.js,前端,音视频)