一个包含video
元素的网页,该元素的src
属性设置为包含视频文件的数据URI,在iOS 15上的Safari中无法播放视频。
使用Safari开发工具检查设备/模拟器时,浏览器会反复发出带有Range: bytes N-M
头的请求,多次读取整个视频文件,导致内存消耗巨大并最终无法启动播放。
如果视频足够小且成功启动,则播放速度缓慢,启动时间也需要很长时间。
是否有解决此问题的方法?
P.S. 将视频保留在数据URI中是我正在尝试解决的任务所固有的,请不要建议将视频文件保留为单独的资源 :)
createObjectURL
将其load
到视频标签中会发生什么?例如:var vidBytes = new Uint8Array( atob( yourB64string) );
然后将其作为视频src可用的路径是path = (window.URL || window.webkitURL).createObjectURL( vidBytes );
最后使用your_vid_element_byID.setAttribute("src", path); your_vid_element_byID.load();
加载视频元素。 - VC.One