iOS原生播放器播放HLS URL遇CoreMediaErrorDomain -12642错误排查
问题分析与结论
从错误日志和提供的m3u8清单来看,播放清单确实存在问题,直接导致iOS原生播放器解析失败,错误码-12642对应的“tag double value: Illegal decimal conversion”已明确指向问题根源:
具体问题点
- EXT-X-DATERANGE的PLANNED-DURATION属性不符合HLS版本3规范
你的m3u8声明版本为#EXT-X-VERSION:3,根据HLS规范,版本3中PLANNED-DURATION属性要求为整数类型,但你使用了浮点数格式37.0。iOS原生播放器对版本兼容性判定严格,会将这种不符合规范的浮点数视为非法十进制转换,触发解析错误。
修复方案
将两处PLANNED-DURATION=37.0修改为整数格式PLANNED-DURATION=37,修改后的对应片段示例:
#EXT-X-DATERANGE:ID="d7518dca-f9a8-4a36-9d56-b89658798541",START-DATE="2022-11-23T14:21:05.473Z",PLANNED-DURATION=37,X-AD-POD-SIZE=1,X-AD-VAST=http://vast/vast.xml #EXT-X-DATERANGE:ID="dfbc3202-1a78-4ce6-8bc8-2d7669b3ec07",START-DATE="2022-11-23T14:21:05.473Z",PLANNED-DURATION=37,X-AD-ID="104314"
内容的提问来源于stack exchange,提问作者WISHY
相关产品推荐
相关产品推荐

