Audio iOS 5 Mobile Safari自动播放音频,还有其他解决方法吗?

Audio iOS 5 Mobile Safari自动播放音频,还有其他解决方法吗?,audio,ios5,mobile-safari,autoplay,Audio,Ios5,Mobile Safari,Autoplay,我们都知道苹果不允许在移动Safari上自动播放html5音频标签。iOS4的解决方案是使用带有mp3 src的iframe。苹果似乎已经在iOS 5上对此进行了修补 <html> <body> iframe mp3 autoplay test <iframe src='iframe.mp3' width='0px' height='0px' scrolling='no'></iframe> </body> </html>

我们都知道苹果不允许在移动Safari上自动播放html5音频标签。iOS4的解决方案是使用带有mp3 src的iframe。苹果似乎已经在iOS 5上对此进行了修补

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

iframe mp3自动播放测试
这适用于iOS 4.3.1,但不适用于5.0.1


还有什么解决办法,或者苹果最终修补了所有的自动播放漏洞吗?

答案可能就在这篇文章里面,其他的似乎都不适合你。

事实上,苹果已经禁用了mobile safari的自动播放功能。 “在iPhone操作系统上的Safari(适用于所有设备,包括iPad)中,用户可能在蜂窝网络上,并按数据单元收费,自动缓冲和自动播放被禁用。在用户启动之前,不会加载任何数据。这意味着JavaScript play()和load()方法在用户启动播放之前也处于非活动状态,除非play()方法由用户操作触发。换句话说,用户启动的播放按钮可以工作,但onLoad播放事件不能。”

可以先加载视频,然后假装用户点击事件,如以下链接所述 请查看此链接以了解解决方法

查看此页面的源代码


这使用jQuery,大多数用户在加载页面后都会触摸屏幕

通过使用.one,仅当第一次触摸屏幕时,声音“AutoStart”(自动启动)

<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>

$(文档).ready(函数(){
var soundX=document.getElementById('soundX');
$(“body”).one(“touchstart”,函数(){
log(“这将只显示一次。”);
soundX.play();
});
});

这对嵌入声音文件不起作用吗?我会试一试,但我应该强调,音频需要在没有任何用户干预的情况下播放。我有一个javascript存根,它可以打开一个持久连接,并在发生变化时播放声音,比如新的电子邮件通知声音。