0

我有一个包含四个 VIDEO 元素的网页。我知道在我明确触发它们的触摸事件之前,它们甚至不会开始加载任何元数据。我可以在按钮元素上的触摸事件上连接一个事件处理函数,以便调用所有四个 VIDEO 元素上的“播放”方法吗?

我的意思是这样的:

$b1.bind("touchstart", function (e) {
    $v1.get(0).play();
    $v1.get(0).pause();
    $v2.get(0).play();
    $v2.get(0).pause();
    $v3.get(0).play();
    $v3.get(0).pause();
    $v4.get(0).play();
    $v4.get(0).pause();
});

当我尝试使用全屏视频打开四个单独的 QuickTime 窗口时。这不是我想要的效果,但至少我可以将所有四个都连接到处理程序。然而,问题是只有 $v4 真正开始加载任何东西,而其他三个显然从未开始加载。

4

2 回答 2

0

您不能一次启动多个视频。每次在 iOS 上启动视频时,当前正在运行的视频都会停止。这是对所有移动苹果设备的性能限制。出于同样的原因,该preload属性与当前的 iOS 设备无关。

我猜你希望视频是内联的?然后webkit-playsinline作为属性添加到每个<video>元素:

<video src="myvideo.mp4" webkit-playsinline controls>

这样,您可以将 4 个视频元素彼此相邻排列并使用本机视频控件(例如,允许稍后切换到本机全屏)。如果您想实现自己的控件,请忽略该controls属性。

PS:跟进 0x60 的链接,你可以找到一个名为iOS-Specific Considerations的部分

于 2012-02-08T10:34:45.430 回答
-1

你检查过这个吗?将您的代码设置为:<video preload="automatic" />并且它应该预加载。

于 2012-02-07T21:18:38.190 回答