如何在 iOS 上自动播放 HTML5 <video> 和 <audio> 标签?

Posted

技术标签:

【中文标题】如何在 iOS 上自动播放 HTML5 <video> 和 <audio> 标签?【英文标题】:How to autoplay HTML5 <video> and <audio> tags on iOS ? 【发布时间】:2015-10-05 09:31:53 【问题描述】:

我和我的团队正在尝试在 iPad 上制作一个 Web 应用程序自动播放 html5 视频/音频标签。在多次尝试 CSSJavaScript 之后,到目前为止还没有运气。

问题是:还有什么其他选项可以让它自动播放?

我正在考虑使用带有 iOS API 调用的集成浏览器的原生应用程序来模拟触摸/点击,从而使视频/音频标签自动播放。

是否有可能,如果有,如何以及使用哪个 iOS 版本?

谢谢

【问题讨论】:

你需要一个承包商,而不是 Stack Overflow。 所以你说这可能吗?能详细点吗? 我认为我的评论回答了这个问题。 试试这个stanko.github.io/html-canvas-video-player ...但你不能同时使用自动播放和音频 此处已回答:***.com/questions/12496144/… 【参考方案1】:

您无法在正常模式下在 ios 上自动播放视频和音频,您可以使用模拟用户输入等技巧来自动播放视频和音频。

Safari HTML5 Audio and Video Guide

在 iOS 上的 Safari(适用于所有设备,包括 iPad)中,用户可能在蜂窝网络上并按数据单位收费,因此禁用了预加载和自动播放。在用户启动数据之前不会加载数据。这意味着 javascript play() 和 load() 方法在用户开始播放之前也是不活动的,除非用户操作触发了 play() 或 load() 方法。换句话说,用户启动的播放按钮有效,但 onLoad="play()" 事件无效。

这会播放电影:&lt;input type="button" value="Play" onclick="document.myMovie.play()"&gt;

这在 iOS 上没有任何作用:&lt;body onload="document.myMovie.play()"&gt;

【讨论】:

确实如此。我已经看到了 iOS 的限制。您知道是否可以使用本机应用程序 + 嵌入式浏览器? 抱歉回复晚了。我认为最好的方法是模拟用户触摸,我之前看到过解决方案,如果我找到了,我会在这里发送。 而做到这一点的唯一方法是使用我发现的本机应用程序。这就是 Facebook 自动播放视频的方式。【参考方案2】:

您找到在 iOS 设备上自动播放视频的解决方案了吗?如果不行,我刚刚找到解决方案here, you can use WeChat of iPhone to open it(只支持iPhone微信,不支持iPad微信),使用video.js播放器,相关代码如下:

<video id="example_video_1" class="video-js vjs-default-skin" controls autoplay preload="auto" webkit-playsinline="true" x-webkit-airplay="true"   poster="" data-setup="">

它也有支持在iOS/android/PC上不全屏播放视频的解决方案。

【讨论】:

谢谢,我会在休息的时候看看。我现在正在做其他项目。 @Jean-Baptiste Bouhier,对不起,我弄错了。只支持iPhone微信自动播放,不支持iPhone的Safari。我已经编辑了我的答案以纠正。很抱歉造成混淆。

以上是关于如何在 iOS 上自动播放 HTML5 <video> 和 <audio> 标签?的主要内容,如果未能解决你的问题,请参考以下文章

关于html5 audio 标签在ios系统上不能正常自动播放的解决办法

HTML5 音频播放器未在 ios Safari 中自动播放

在iOS微信浏览器中自动播放HTML5 audio(音乐)的2种正确方式

如何确定 HTML5 视频播放器何时在 iOS / iPad 上进入全屏模式?

youtube 如何在 Safari 上自动播放带音频的视频?

HTML5 视频自动播放不起作用