1

我们都知道 Apple 不允许使用 Mobile Safari 在 html5 音频标签上自动播放。iOS 4 的解决方法是使用带有 mp3 src 的 iframe。Apple 似乎已经在 iOS 5 上修复了这个问题。

<html>
<body>
iframe mp3 autoplay test
<iframe src='iframe.mp3' width='0px' height='0px' scrolling='no'></iframe>
</body>
</html>

这适用于 iOS 4.3.1,但不适用于 5.0.1。

剩下的解决方法,还是苹果终于修补了所有的自动播放漏洞?

4

3 回答 3

0

实际上,Apple 已经禁用了移动 safari 的自动播放功能。“在 iPhone OS(适用于所有设备,包括 iPad)上的 Safari 中,用户可能在蜂窝网络上并按数据单元收费,自动缓冲和自动播放被禁用。在用户启动之前不会加载数据。这意味着JavaScript play() 和 load() 方法在用户启动播放之前也是不活动的,除非 play() 方法被用户操作触发。换句话说,用户启动的播放按钮有效,但 onLoad 播放事件无效。 "

可以通过首先加载视频然后伪造用户单击事件来完成,如下面的链接中所述查看此链接以解决问题,

http://roblaplaca.com/blog/2010/04/14/ipad-and-iphone-html5-video-autoplay/

查看此页面的源代码

http://www.roblaplaca.com/examples/html5AutoPlay/

于 2013-06-27T05:41:04.310 回答
0

答案可能在这篇文章中,似乎没有其他东西对你有用。 在 iOS 和 Android 中播放声音文件

于 2011-11-26T04:17:13.443 回答
0

这使用 jQuery 和大多数用户在加载页面后会触摸屏幕的点。

通过使用 .one 声音“自动启动”仅在第一次触摸屏幕时..

<audio id="soundX" src="your source here" ></audio>

<script type="text/javascript">
$(document).ready(function() {
var soundX = document.getElementById('soundX');
$( "body" ).one( "touchstart", function() {
  console.log( "This will be displayed only once." );
  soundX.play(); 
});
});
</script>
于 2017-08-31T11:08:19.300 回答