video 视频组件安卓端拖动进度条和全屏的问题
发布于 6 年前 作者 li49 13670 次浏览 来自 问答
  • 当前 Bug 的表现(可附上截图)以下问题都是安卓上才出现,iOS 是正常的。
  1. 安卓端在视频播放期间拖动进度条时会触发 bindplay 事件

  2. 安卓端使用 requestFullScreen 时,如果已经是全屏了,则会默认退出全屏并出现卡住的现象(通常要等上一阵子才能恢复)

  • 预期表现
  1. 拖动进度条不会触发 bindplay 事件

  2. 使用 requestFullScreen 时如果已经全屏,则不改变全屏状态,只有非全屏时才会去打开全屏。

  • 提供一个最简复现 Demo
const app = getApp()
 
Page({
  data: {
    videoId: 'test',
    videoUrl: 'http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4ff02024ef202031e8d7f02030f42400204045a320a0201000400',
  },
  // 全屏状态变化
  handleScreenChange(data) {
    const { detail: { fullScreen = false } } = data;
    console.log('是否全屏', fullScreen);
  },
  // 点击播放
  handleVideoPlay() {
    console.log('开始播放');
    setTimeout(() => {
      console.log('进入全屏');
      this.videoContext.requestFullScreen();
    }, 2000);
  },
  onReady() {
    this.videoContext = wx.createVideoContext(this.data.videoId)
  },
})
<video id="{{ videoId }}"
       src="{{ videoUrl }}"
       direction="{{ 0 }}"
       bindplay="handleVideoPlay"
       bindfullscreenchange="handleScreenChange"
       binderror="handleError">
</video>
2 回复

麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

同样的问题

  1. 安卓端在视频播放期间拖动进度条时会触发 bindplay 事件

  2. 安卓端使用 requestFullScreen 时,如果已经是全屏了,则会默认退出全屏并出现卡住的现象(通常要等上一阵子才能恢复)

回到顶部