uniapp实现禁止video拖拽快进
Posted 小跳不会Coding
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uniapp实现禁止video拖拽快进相关的知识,希望对你有一定的参考价值。
在项目开发过程中,难免会用到video视频标签。根据客户要求,视频只能正常观看完,不能手动快进,以下是实现的方法:
<!--1.video标签-->
<video id="myVideo" @timeupdate="videoFun" :src="videourl" initial-time="initial_time" >
<script>
export default
data()
//2.data数据部分
return
videourl: "https://vd3.bdstatic.com/mda-me38qw5ayq6m5x6k/sc/cae_h264/1620080580731464743/mda-me38qw5ayq6m5x6k.mp4?v_from_s=hkapp-haokan-nanjing&auth_key=1654941744-0-0-e46a5e5c83b069fcaf54124cd256af20&bcevod_channel=searchbox_feed&pd=1&cd=0&pt=3&logid=1944747745&vid=1074518001243819841&abtest=102599_2-102777_6-102784_1-17451_1-3000225_3-3000232_1&klogid=1944747745",
video_real_time: 0, //实时播放进度
nitial_time: '', //视频跳转进度 秒
,
onLoad(option)
//3.onload部分
this.initial_time = '0' //视频进度
,
methods:
//4.方法部分
videoFun(e)
var isReady = 1; // 是否开启可以视频快进 1 禁止开启
//跳转到指定播放位置 initial-time 时间为秒
let that = this;
//播放的总时长
var duration = e.detail.duration
//实时播放进度 秒数
var currentTime = parseInt(e.detail.currentTime)
//当前视频进度
// console.log("视频播放到第" + currentTime + "秒")//查看正在播放时间,以秒为单位
if (that.video_real_time == 0)
var jump_time = parseInt(that.initial_time) + parseInt(that.video_real_time)
else
var jump_time = parseInt(that.video_real_time)
if (isReady == 1)
if (currentTime > jump_time && currentTime - jump_time > 3)
let videoContext = wx.createVideoContext('myVideo')
videoContext.seek(that.video_real_time)
wx.showToast(
title: '未完整看完该视频,不能快进',
icon: 'none',
duration: 2000,
)
that.video_real_time = currentTime //实时播放进度
</script>
Vue 实现 H5video 视频标签 禁止快进 最优
可以拖动滚动条 但是还是松开鼠标还是停留在当前位置,如果后退的话还是可以快进到最快的位置,这点还是比较优化较好的
<template>
<video
ref="video"
@timeupdate="timeupdate"
>
</template>
<script>
export default {
data() {
return {
currTime: null,
maxTime:0,
};
},
methods: {
timeupdate(e) {
console.log(e.srcElement.currentTime - this.currTime);
if (e.srcElement.currentTime - this.currTime > 1) {
e.srcElement.currentTime = this.currTime>this.maxTime?this.currTime:this.maxTime;
console.log("快进了");
}
this.currTime = e.srcElement.currentTime;
this.maxTime = this.currTime>this.maxTime?this.currTime:this.maxTime;
console.log("视频记录", e.srcElement.currentTime);
console.log("本地记录", this.currTime);
},
toggleCom(num) {
this.comNum = num;
},
},
};
</script>
以上是关于uniapp实现禁止video拖拽快进的主要内容,如果未能解决你的问题,请参考以下文章