6.5.12版本,iPhone5c,iOS 10.3.3 。
video src 用http链接m3u8,地址带参数的,并已经对参数进行encodeURI处理,在安卓平台上直接可播放,在ios平台上直接黑屏,并且无网络请求发出,我怀疑获取到的m3u8是空的,因为链接参数不对的原因,所以我想了解一下,ios平台video标签中的src,是对链接进行了encodeURIComponent处理么?
换成最简单的https mp4无参数、无特殊符号的链接,也是无法播放,但是能加载出缩略图,点击播放依然黑屏、无网络请求。
或者我如何深入debug video标签的属性参数、跟踪video内部的info、请求到的m3u8内容?
================2017-08-10=================
测试了腾讯的视频点播存储管理服务,所提供的mp4、m3u8链接均可以在ios平台正常播放,经过搜索其他人的问题描述,这应该与http服务器端,对这种类型的文件请求的response方式有关,大概是iOS小程序平台,继承了iOS初期版本对视频支持差的特性,因为事到如今,iOS Safari浏览器及微信内部集成的浏览器,对m3u8、mp4的支持很好,不需要特殊的response数据头。
另外这段时间的搜索,可以摸索到,一些cdn加速服务,会改善这种回传数据头的问题,使原本在小程序不能正常播放的视频源,变得可正常播放。
================2017-08-12=================
经过进一步的尝试,发现,这个iOS平台video标签,是靠src请求的超链接中的内容的后缀来判断视频类型的,如果请求的内容没有后缀,比如m3u8,而不是xxx.m3u8,那这个video就不能播放,呈现黑屏的状态。
所以我希望这个video标签能添加一个type参数,能够指定video请求的视频类型,这样就能避免这样的问题发生了。因为请求的内容是动态生成的,所以格式不是很标准的带后缀的文件名,所以还是希望开发者能将type参数添加到video中,让iOS平台能够更换的适配video。