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 这俩好用