Open pengkobe opened 6 years ago
~ios 端会首先发起请求 range:0-1 获取视频的长度,然后再分几次获取视频文件,而几次请求都没有返回 code,是一种不了了之的状态,很是头疼。~
range:0-1
方案:
我们是使用 videoangular 这个插件来播放 mp4 格式的文件,在加载的时候居然一直在 load,还停不下来来,久而久之,程序都快奔溃来。
由于是调试别人的代码,而且 android 版又能够成功运行,我推断是框架兼容性问题,可以找了很久没有找到答案,videoangular 仓库的 Issue 内也没有发现任何相关 bug,所以还是一步一步调试,对比 web 端成功与 ios 失败之间代码运行差异,果然发现了端倪,接下来也很快找到了 bug。原来是 ios 端不支持自动运行 onloadeddata 方法,需要设置 autoplay 属性为 true 才行。
autoplay
https://stackoverflow.com/questions/33300294/html5-video-loadeddata-event-does-not-work-in-ios-safari
~ios 端会首先发起请求
range:0-1
获取视频的长度,然后再分几次获取视频文件,而几次请求都没有返回 code,是一种不了了之的状态,很是头疼。~方案:
我们是使用 videoangular 这个插件来播放 mp4 格式的文件,在加载的时候居然一直在 load,还停不下来来,久而久之,程序都快奔溃来。
后续
由于是调试别人的代码,而且 android 版又能够成功运行,我推断是框架兼容性问题,可以找了很久没有找到答案,videoangular 仓库的 Issue 内也没有发现任何相关 bug,所以还是一步一步调试,对比 web 端成功与 ios 失败之间代码运行差异,果然发现了端倪,接下来也很快找到了 bug。原来是 ios 端不支持自动运行 onloadeddata 方法,需要设置
autoplay
属性为 true 才行。https://stackoverflow.com/questions/33300294/html5-video-loadeddata-event-does-not-work-in-ios-safari