小程序video标签在(华为手机)无法播放.mp4长视频(ios上正常)

问题场景

后台上传了有一个大小为700+M的视频文件,结果在小程序播放页面加载一会就会黑屏,并且视频时长也没有解析成功,但是视频路径在浏览器访问是没有问题的。(当时是在小米手机出现该bug)

分析问题

可能原因:

  1. 上传阿里云视频路径地址有问题。(已排除)
  2. 可能视频文件过大,导致加载失败。
  3. 是否是手机厂商兼容性问题。

解决方案

针对以上问题首先在本地微信ide上无法复现该bug,视频都能正常播放。然后找了三款手机进行测试:

机型 是否复现该bug
vivo
华为
苹果

接着就去百度找相关帖子,最多的解决方案是在video标签上添加custom-cache="{ {true}}",意思大概是是否允许用户缓存,由于微信小程序中的video标签是对原生H5<video>做过二次封装的,因此查了官方文档,文档上并未出现该属性,并且添加完这个属性后并未解决我的问题

于是,就直接使用该标签的解析错误的回调:

捕获的错误信息如下:

error {
    "type": "error", 
    "target": {"dataset": {}, "id": "myVideo", "offsetTop": 0, "offsetLeft": 0},             
    "currentTarget": {"dataset": {}, "id": "myVideo", "offsetTop": 0, "offsetLeft": 0},     
    "timeStamp": 32924, 
    "detail": {
        "errMsg": "MEDIA_ERR_DECODE(-14000,14010017)"
    }
}

 最后搜了很多帖子都没有找的解决办法,最后将问题抛给了官方:

结论

最后官方的回复有点。。。,但是通过修改视频文件名称问题是解决了,但是小视频文件名可以是中文,大视频文件就不行,属实有点恶心了,当然还有其他方式比如将视频源文件转码成其他格式的文件。希望文章内容可以给志同道合的朋友提供帮助,有问题欢迎指正,再见!!

猜你喜欢

转载自blog.csdn.net/weixin_61877032/article/details/129302419