24

这让我一整天都在想,但我不确定如何让 html5 视频播放器在没有本机控件的情况下工作。

我不想要任何控制,但如果我不包含它们,视频似乎不想播放,即使我在下面添加一些 javascript 试图强制它播放,它也适用于 iPhone 和多个浏览器,但不是 iPad,这很奇怪,知道吗?

如果有帮助,这里有一些标记!

<video src="video.mp4" id="video" poster="image.jpg" onclick="this.play();"/></video>

$('#video').click(function(){
   document.getElementById('video').play();
});
4

5 回答 5

13

iOS 不支持autoplayvideo 标签的属性。您似乎也不能使用 jQuery 绑定到来自 video 元素的单击事件(请参阅fiddle)。

一种解决方法是在视频元素上放置一个不可见的 div 并将播放视频的单击绑定到该元素(参见小提琴):

HTML:

<div id="video-overlay"></div>
<video id="video" width="400" height="300">
      <source id='mp4'
        src="http://media.w3.org/2010/05/sintel/trailer.mp4"
        type='video/mp4'>
      <source id='webm'
        src="http://media.w3.org/2010/05/sintel/trailer.webm"
        type='video/webm'>
      <source id='ogv'
        src="http://media.w3.org/2010/05/sintel/trailer.ogv"
        type='video/ogg'>
</video>

CSS:

#video { border: 1px solid black; }
#video-overlay { position: absolute; width: 400px; height: 300px; z-index: 999;  }

jQuery:

$('#video-overlay').click(function(){
   document.getElementById('video').play();
});
于 2012-06-01T23:11:46.820 回答
8

按照设计,您不能自动播放视频,但在播放开始后删除控件很简单,我猜这是您真正想要的效果:

<video id="video" src="video.mp4" poster="image.jpg" preload="auto" onplaying="this.controls=false"/></video>
于 2014-08-30T19:57:53.023 回答
5
于 2016-07-15T00:08:42.703 回答
3

我能做的最好的就是在用户触摸屏幕做任何事情时播放视频,甚至向下滚动页面。

function playVideoNow(e)
{
    document.getElementById('video').play();
    document.removeEventListener('touchstart', playVideoNow);
}

document.addEventListener('touchstart', playVideoNow, false);
于 2015-02-26T00:44:11.143 回答
2

截至目前,iOS 6autoplay在某些设备上支持该元素。

检查http://www.longtailvideo.com/html5/autoloop/以供参考。

于 2013-09-13T09:04:19.947 回答