「复现流程」:
创建一个 video 组件,设置自动播放,循环播放,不显示控制栏和播放按钮
在页面 js 的 onload 生命周期中获取该 video 组件实例
在 onShow 生命周期使用该 video 实例的 play 方法
在 onHide 生命周期使用该 video 实例的 pause 方法
「期待结果」:
在切后台时触发 onHide 生命周期的 pause,暂停视频
在回到该页面时触发 onShow 生命周期的 play,继续播放视频
「实际结果」:
切回页面之后并没有自动播放
「代码片段」:
客户端7.0版本已经支持了切后台自动暂停,回到小程序继续播放。可以不需要在 onHide / onShow 处理了。
问题就是在 ios10 ios12 上自动暂停播放,并未生效,所以手动增加了 onHide/onShow 的处理,可是就目前情况而言仍未生效。
客户端版本是7.0吗?onShow之后调用 play 不能播放,这个问题我这边可以重现,需要再定位下问题。你可以试一下先加一点延时看看。 setTimeout(() => ctx.play(), 700)
同问。求助官方。即使我在onshow里面去调用视频play方法,依旧不行。
按钮点击可以触发吗?
直接点击播放是可以的,是否是因为这个实例出问题了呢?
隐藏这里试下
在调试器下直接死掉了,隐藏掉 this.videoCtx.pause() 并没有任何影响
目前复现机型为 ios10 ios12 的 iphone 手机,暂且预计是因为在 onHide 时 video 组件被错误的销毁(释放)并在 onShow 中并未正确恢复。