在setInterval()中调用HTML5音频播放功能在iPad中不起作用

时间:2012-11-24 23:20:11

标签: javascript html5-audio

                       setInterval('playSound()',2000);


                             function playSound(){

                                            var sound=new Audio('song.mp3');
                                                          sound.play();


                              }

这项工作在Chrome中,但在ipad app中无效。

1 个答案:

答案 0 :(得分:3)

您无法在iOS上以编程方式触发音频或视频元素的播放。 我曾写过一篇关于它的blogpost

  

很伤心,但也是如此。 Apple deliberately decided触摸事件是加载和播放音频所必需的。没有解决方法。

有三种方法可以避免这种情况(至少在某种程度上)在帖子中描述:

  1. 将touchstart事件绑定到正文
  2. 热交换来源
  3. 使用音频精灵
  4. 当然您也可以使用PhoneGap / Cordova来包装您的应用程序。 Cordova.plist中有一个名为“MediaPlaybackRequiresUserAction”的设置。只需将其设置为“否”。