收藏
回答

如何判断video组件暂停事件是否是点击控制栏的暂停键?


官方有个统一监听暂停的bindpause方法,这个方法在三种情况下都会被触发。

  1. 点击控制栏的暂停键
  2. 视频播放结束
  3. 通过videoContext.pause()函数触发暂停


现在想只针对于点击控制栏的暂停键触发的暂停做特殊处理。

回答关注问题邀请回答
收藏

2 个回答

  • Finn
    Finn
    2022-08-23

    补充一下触发暂停事件的场景:

    4.苹果手机离开当前页面也会触发暂停

    2022-08-23
    有用
    回复
  • spider
    spider
    2021-08-20

    我没对暂停的bindpause方法进行过测试,按照你的测试结果来看,若只想对 点击控制栏的暂停键 做特殊处理,可以排除另外两种情况的干扰。

    bindended 属性可以判断视频结束,为 videoContext.pause() 和 bindended 绑定的方法上,设置一变量,比如此变量等于1。在 bindpause 方法里做判断,当变量不等于1时,就做处理。

    文档:https://developers.weixin.qq.com/miniprogram/dev/component/video.html

    2021-08-20
    有用
    回复 3
    • 遇
      2021-08-20
      首先感谢你的回答!我开始是这样的实现思路,可是我测试的结果是:先触发了bindpause 然后才会触发bindended 。这样就缺失了一个种情况
      2021-08-20
      回复
    • ㅤㅤㅤㅤ
      ㅤㅤㅤㅤ
      2021-08-20回复
      你可以在这个基础上再尝试记录一下播放进度,看看是否跟视频时长相差小于一秒(因为会有误差,所以不能完全判断相等),小于了那就是播放结束了;反之认为是点了暂停。
      2021-08-20
      回复
    • 遇
      2021-08-20回复ㅤㅤㅤㅤ
      谢谢你的回复啊!为了实现这个功能,饶了一大圈....哈哈
      2021-08-20
      回复
登录 后发表内容