2

我正在为一个非常重媒体的客户端创建一个网站,因此要加载很多视频/音频文件。视频可以在 Chrome、Firefox、IE 等中完美加载,但不能在 Safari(在 Windows 上)!请参阅下面的代码。

<video controls="controls" type="video/mp4">
    <source src="/malagnini/video/sample.mp4" type="video/mp4" />
    <source src="/malagnini/video/sample.ogv" type="video/ogg" />
    <source src="/malagnini/video/sample.webm" type="video/webm" />
</video> 

所有 MIME 类型都已添加到 htaccess 文件中。

我正在使用 AJAX 加载一些视频(例如,当用户单击“视频类型”过滤器按钮时),所以我在每次请求后加载视频,我知道 Safari 存在问题。但即使在请求之前,视频也没有播放。

我还需要勾选其他框吗?(我安装了 QuickTime,我知道在 Windows 上通过 Safari 运行 HTML5 视频是必需的)。

顺便说一句,视频的 DO 加载到 iPhone 中,但加载时间很长。

4

2 回答 2

2

现在已经解决了。Safari 存在一个错误,即无法加载动态修改 src 属性的视频。

要解决此问题,必须先克隆视频元素,然后再将其删除。src 路径可以更新为克隆的元素,重新加载到 DOM 中,然后正常加载。

于 2013-05-10T10:03:06.017 回答
0

@FunnyOxymoron 克隆和删除<video>元素不是一个好主意,因为在 iPhone/iPad 上,用户必须再次单击播放按钮才能激活<video>对象。正确的解决方案是替换src属性 - 顺便说一下它在 Safari 上的工作方式。请参阅此处的示例:https ://stackoverflow.com/a/27284512/2079326

于 2014-12-04T01:56:06.700 回答