HarmonyOS 鸿蒙Next avPlayer 无法解析携带参数的 m3u8地址
我们需要播放一个点播视频 地址类似这样
需要访问 阿里云 OSS 可以看到后边携带了一些参数 用于鉴权和校验
这是代码 参考官方案例
let avPlayer: media.AVPlayer = await media.createAVPlayer();
this.setAVPlayerCallback(avPlayer!!);
this.isSeek = true;
avPlayer.url = cloudUrl
然后报错如下
Invoke avPlayer failed, code is 5400103, message is IO Error: unkown error
能否给一个详细错误 只给了一个IO错误 IO错误 范围大了去了 这让我怎么排查? 具体是请求失败?还是解析失败?还是下载失败?还是什么问题?
我再次尝试了其他连接 比如一些测试地址
http://playertest.longtailvideo.com/adaptive/bipbop/gear4/prog_index.m3u8
https://sf1-cdn-tos.huoshanstatic.com/obj/media-fe/xgplayer_doc_video/hls/xgplayer-demo.m3u8
等 一些 .m3u8后 不携带参数的 播放地址 均可以正常播放
再次尝试
后面又怀疑是html转义问题 将连接里html的字符转移后 还是不行
后边又尝试了 Video 组件 还是不行
该视频连接在其他播放器比如 potplayer 和android原生videoview中均可正常解析
2 回复
当前鸿蒙播放带有密钥的m3u8在线地址有部分不支持
针对HarmonyOS鸿蒙Next中AVPlayer无法解析携带参数的m3u8地址的问题,这通常是由于AVPlayer在处理带有特定参数或需要鉴权的m3u8文件时存在限制。以下是一些可能的解决方案:
-
预处理m3u8文件:
- 尝试通过HTTP客户端(如fetch、XMLHttpRequest等)获取m3u8文件,并在客户端处理完鉴权或参数后,再将处理后的URL提供给AVPlayer。
-
检查参数格式:
- 确保m3u8地址中的参数格式正确,没有遗漏或多余的字符,这有助于AVPlayer正确解析。
-
更新AVPlayer:
- 确保你使用的是最新版本的AVPlayer,因为新版本可能修复了旧版本中存在的一些bug。
-
参考官方文档:
- 查阅HarmonyOS的官方文档,了解AVPlayer对m3u8文件的支持情况,以及是否有特定的配置或限制。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。