我使用a-frame videosphere来显示相当大的mp4视频文件(70 MB)。在Chrome和Firefox中一切正常,但在Safari(移动设备和桌面设备)中,视频在整个视频文件完全加载之前不会开始渲染。它似乎无法在加载时流式传输。当我将源视频文件直接嵌入为html5视频时,Safari可以缓冲视频。因此,我认为原因必须是一些框架内部的东西.. 是否有其他人也遇到过这个问题,也许还有什么想法呢?
我希望有人能提供帮助,提前谢谢你!
PS:a-frame version 0.7.0,Safari 11.0(Desktop)
答案 0 :(得分:0)
我在一个框架中找到了原因,并提交了一个拉取请求(https://github.com/aframevr/aframe/pull/3089)。
A-frame通过在Image-object上设置src并侦听'load'和'error'事件来检查引用的文件是否是图像。在源文件完全加载之前,Safari不会触发这些事件,只有在此之后才会显示视频。我用xhr头请求替换了图像检查,并检查了内容类型。