微信小程序音视频踩坑
视频部分
1.视频播放到某个点就暂停,弹出另一个视频
- 方案一:全部用view标签包裹,不支持同层播放的手机,⚠️视频会盖住全部
- 方案二:除了最底下的视频,剩下的全部用cover-view包裹。⚠️华为的部分机型(支持同层播放),会出现最上面的视频有声音但是没画面。
- 方案三:全部用view,底下视频暂停,就用背景图替换隐藏。⚠️华为部分机型,在最后的切换会变成黑屏,卡住不动。
- 方案四:判断手机是否支持同层播放(SDK2.6.6版本才有,文档也没有,微信内部给的:onrendererror)如果支持同层播放就用view,不支持就用cover-view。⚠️暂时没有出问题
2.视频卡住不动
视频播着播着就卡住了,这是很难复现的问题,同型号手机也不一定出现问题。
解决方案:在开始播放的时候,开启一个心跳机制(计时器),先保存一个时间,几秒后检测状态不是结束,等待,并且时间是不是相等,判断是不是卡住了,弹框让用户选择重播或者下一步。(可能不是最好的方案,如果微信自己能解决,那就是最完美的)
3.视频能播放,但是会报错
报错时候加一个定时器,检查时间是否对等,不对等说明卡住了,真不走了
音频部分
1.锤子手机
某些音频播放卡住,分析音频时长和真实时长不对等,换了音频就没问题
2.音频报错
苹果手机很多会报错,导致整个音频走不下去。
解决方案:报错的时候,加一个定时器,检测时间是否走动,弹框让用户自己选择继续 或 下一步。
3.背景音频 BackgroundAudioManager
苹果手机偶尔会报错 playerErrorCode7
官方没有给出解决方案,但是可以在监测到出错,就把音频下载下来播放
有这方面经验的大神,请多多指教。上述的方案都不是最好的,大家一起讨论
未完待续。。。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。