小程序视频播放卡死 MEDIA_ERR_DECODE(-11103,11010001)【已解决】

需求场景

视频切换打点功能,通过createVideoContext实例seek方法切换下一个打点的起始位置继续播放视频

问题描述

视频播放时会请求下一段缓存的视频片段,有时候视频片段请求超时后就造成了视频黑屏卡死,导致整个video组件挂掉,但是通过各种尝试发现手动拖拽快进的时候会避免卡死问题

解决办法

监听异常

记录随机时间戳

记录当前播放时间

开始播放时通过变量记录随机时间戳拼接到video组件src后当做参数,记录当前播放时间异常抛出后替换新的时间戳,通过setData方法强制更新渲染层video组件src,使而变成新的src地址(亲测试如果改变src video会重新播放),然后用实时记录的当前播放时间seek到上次异常时间位置(异常抛出后记得添加loading效果,交互更好一些)

异常抛出时间可能较长时间等待较长,所以在onTimeUpdate会写入一个方法去开启定时器做一个超时处理,正在播放或者暂停的时候清掉定时器,如果方法执行了并没有清除定时器,那么这时候应该是异常导致视频播放不了,倒计时之后自动进入异常后的处理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值