评论

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

音视频的一些事(坑)

需求场景

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

问题描述

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

解决办法

监听异常

记录随机时间戳

记录当前播放时间


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

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

最后一次编辑于  2022-03-23  
点赞 1
收藏
评论
登录 后发表内容