|
@@ -1,4 +1,4 @@
|
|
|
-import { defineComponent, onMounted, reactive, ref, watch } from 'vue'
|
|
|
+import { defineComponent, onMounted, onUnmounted, reactive, ref, watch } from 'vue'
|
|
|
import styles from './video.module.less'
|
|
|
// import poster from './images/video_bg.png'
|
|
|
import { Button, Loading } from 'vant'
|
|
@@ -29,6 +29,7 @@ export default defineComponent({
|
|
|
openId: route.query.openId || openId,
|
|
|
loading: false,
|
|
|
player: null as any,
|
|
|
+ playerSpeed: 1,
|
|
|
intervalFnRef: null as any
|
|
|
})
|
|
|
|
|
@@ -122,6 +123,12 @@ export default defineComponent({
|
|
|
forms.player.currentTime = forms.videoBrowsePoint
|
|
|
})
|
|
|
|
|
|
+ // 速度变化时
|
|
|
+ forms.player.on('ratechange', () => {
|
|
|
+ forms.playerSpeed =
|
|
|
+ forms.playerSpeed < forms.player.speed ? forms.player.speed : forms.playerSpeed
|
|
|
+ })
|
|
|
+
|
|
|
forms.player.on('seeking', (val: any) => {
|
|
|
// console.log('seeking')
|
|
|
videoIntervalRef.isActive.value && videoIntervalRef.pause()
|
|
@@ -215,12 +222,14 @@ export default defineComponent({
|
|
|
} else {
|
|
|
tempTime[1] = Math.floor(forms.player.currentTime)
|
|
|
}
|
|
|
+ // console.log(forms.player.speed, 'speed')
|
|
|
|
|
|
if (tempTime.length >= 2) {
|
|
|
// console.log(tempTime, 'tempTime', moreTime.value)
|
|
|
// 处理在短时间内的时间差 【视屏拖动,点击可能会导致时间差太大】
|
|
|
- const diffTime = tempTime[1] - tempTime[0] - currentTimer.counter.value > 2
|
|
|
- // console.log(diffTime, 'diffTime', currentTimer.counter.value, 'value')
|
|
|
+ const diffTime =
|
|
|
+ tempTime[1] - tempTime[0] - currentTimer.counter.value * forms.playerSpeed > 2
|
|
|
+ console.log(diffTime, 'diffTime', currentTimer.counter.value, 'value')
|
|
|
// 结束时间,如果 大于开始时间则清除
|
|
|
if (tempTime[1] >= tempTime[0] && !diffTime) moreTime.value.push(tempTime)
|
|
|
tempTime = []
|
|
@@ -326,6 +335,13 @@ export default defineComponent({
|
|
|
}
|
|
|
})
|
|
|
|
|
|
+ onUnmounted(() => {
|
|
|
+ forms.intervalFnRef?.pause()
|
|
|
+ currentTimer.pause()
|
|
|
+ // 页面计时暂停
|
|
|
+ pageTimer.pause()
|
|
|
+ })
|
|
|
+
|
|
|
// 判断是否有openId
|
|
|
if (!forms.openId) {
|
|
|
router.replace({
|