【发布时间】:2016-11-25 05:47:42
【问题描述】:
我一直在使用 Safari 和 <video> 元素与较短的高质量视频相结合时遇到问题。对于展示网站,我使用 <source> 元素将 12-15 秒 .mp4 和 .webm 文件加载到 <video> 容器中。当尝试在 Chrome 中播放视频时,它可以完美运行并且视频几乎可以立即开始播放,但 Safari 似乎想要在开始播放之前完全加载视频。
我已经研究过通过<video> 的src 属性直接加载视频,并且还添加了preload="auto" 属性以尝试强制立即播放。
我使用我们在网站上使用的一个视频设置了一个示例,该视频大约 8 MB 和 12 秒长:https://jsfiddle.net/n1eac46v/
var video = document.getElementById('video');
var source = document.createElement('source');
source.src = "foo.mp4";
source.type = "video/mp4";
video.appendChild(source);
video.on("canplay canplaythrough", video.play);
如您所见,我也在监听 canplay 和 canplaythrough 事件,但即使这样似乎也无济于事。我已经连续几天到处寻找,但现在已经没有选择了。
【问题讨论】:
标签: javascript video safari webkit html5-video