我花了很多时间试图弄清楚为什么视频会像这样嵌入:

<video height="256" loop autoplay muted controls id="vid">
         <source type="video/mp4" src="video_file.mp4"></source>
         <source type="video/ogg" src="video_file.ogg"></source>
</video>

一旦页面在FireFox中加载,就开始自动播放,但不能在基于Webkit的浏览器中自动播放。这只发生在一些随机的页面上。到目前为止我还没有找到原因。我怀疑一些未关闭的标签或CMS编辑器创建的大量JS。


当前回答

在使用jQuery play()或DOM操作后,根据其他答案的建议,它仍然不能工作(视频不能自动播放)在Chrome for Android(版本56.0)。

根据developers.google.com上的这篇文章,从Chrome 53开始,如果视频被静音,浏览器会尊重自动播放选项。

因此,在视频标签中使用自动播放静音属性可以使视频在Chrome浏览器中自动播放。

摘自上述链接:

Muted autoplay for video is supported by Chrome for Android as of version 53. Playback will start automatically for a video element once it comes into view if both autoplay and muted are set[...] <video autoplay muted> <source src="video.webm" type="video/webm" /> <source src="video.mp4" type="video/mp4" /> </video> Muted autoplay is supported by Safari on iOS 10 and later. Autoplay, whether muted or not, is already supported on Android by Firefox and UC Browser: they do not block any kind of autoplay.

其他回答

我能得到的最好的修复是在</video>之后添加这段代码

<script>
    document.getElementById('vid').play();
</script>

...虽然不漂亮,但还是管用的。

更新 最近许多浏览器只能自动播放视频的声音关闭,所以你需要添加静音属性的视频标签

<video autoplay muted>
...
</video>

其他的答案都对我没用。 我的解决办法是触发点击视频本身;Hacky(因为需要超时),但它工作正常:

function startVideoIfNotStarted () {
    $(".id_of_video_tag").ready(function () {
        window.setTimeout(function(){
            videojs("id_of_video_tag").play()
        }, 1000);
    });
}
$(startVideoIfNotStarted);

试着交换 自动播放自动播放。

有时它似乎是区分大小写的。这很奇怪,因为它对我来说是自动播放,但前提是我添加了控制

我们最近用一个嵌入式视频解决了一个类似的问题,发现自动播放和静音属性对我们的实现来说不够。

我们在代码中添加了第三个“playsinline”属性,它为iOS用户解决了这个问题。

此修复是特定于视频要内联播放。来自https://webkit.org/blog/6784/new-video-policies-for-ios/:

在iPhone上,元素现在将允许内联播放,并且在播放开始时不会自动进入全屏模式。 没有playsinline属性的元素将继续需要全屏模式在iPhone上播放。 当用缩放手势退出全屏时,没有playsinline的元素将继续inline播放。

谷歌刚刚更改了自动播放视频的策略,必须静音

你可以在这里查看

添加静音

<video height="256" loop="true" autoplay="autoplay" controls="controls" id="vid" muted>
         <source type="video/mp4" src="video_file.mp4"></source>
         <source type="video/ogg" src="video_file.ogg"></source>
</video>