uni-app video视频组件双击无法暂停播放视频

uni-app video视频组件双击无法暂停播放视频

8 回复

没人管吗


iOS 也有返回键啊
双击暂停这个 iOS和安卓 确认一下要怎么做

回复 2***@qq.com: 这个文档上 没有写App支持 应该是两端表现不一样 以后版本我们统一一下

回复 天生DR: 好的。会在最近版本修复吗

回复 2***@qq.com: 双击那个属性会很快修复 返回按钮那个估计得等一下 得和安卓一下风格

回复 天生DR: 谢谢

回复 2***@qq.com: enable-play-gesture 属性 iOS端在3.4.6 添加了 但是由于历史遗留问题 现在默认为true 与文档不符 如果你想屏蔽 显性设为false 另外返回按键在下个版本加

uni-app 中,video 组件默认情况下不支持双击暂停播放视频的功能。如果你希望在双击视频时暂停播放,可以通过监听 video 组件的 touchend 事件,并结合计时器来实现双击的效果。

以下是一个示例代码,展示如何实现双击暂停播放视频的功能:

<template>
  <view>
    <video
      id="myVideo"
      src="https://www.example.com/sample.mp4"
      controls
      @touchend="handleTouchEnd"
    ></video>
  </view>
</template>

<script>
export default {
  data() {
    return {
      lastTapTime: 0, // 记录上次点击的时间
      tapTimeout: null, // 用于清除计时器
    };
  },
  methods: {
    handleTouchEnd() {
      const currentTime = Date.now();
      const tapInterval = currentTime - this.lastTapTime;

      if (tapInterval < 300 && tapInterval > 0) {
        // 双击事件
        this.toggleVideoPlayback();
        clearTimeout(this.tapTimeout); // 清除计时器
      } else {
        // 单击事件
        this.tapTimeout = setTimeout(() => {
          // 单击处理逻辑
        }, 300);
      }

      this.lastTapTime = currentTime;
    },
    toggleVideoPlayback() {
      const videoContext = uni.createVideoContext('myVideo', this);
      const video = videoContext;

      video.paused ? video.play() : video.pause();
    },
  },
};
</script>

<style>
/* 样式可以根据需要调整 */
</style>
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!