在页面加载后播放音乐(在iPhone中)(使用HTML5 / JS)

时间:2011-07-29 11:57:54

标签: javascript iphone html5 html5-audio

我发现:

<!DOCTYPE html>
<html>
    <head>
    <script src='jQuery.js'></script>
        <script>
                $(document).ready(function(){
                    document.getElementById("asdf").play();
                });
        </script>
    </head>
    <body>
        <audio src='music.m4a' id='asdf'></audio>
    </body>
</html>

<!DOCTYPE html>
<html>
    <head>
        <script>
            setTimeout('document.getElementById("asdf").play();',10000);
        </script>
    </head>
    <body>
        <audio src='music.m4a' id='asdf'></audio>
    </body>
</html>

不会在iPhone上播放音乐(当然,正常计算机上面有两部作品),但写作

<!DOCTYPE html>
<html>
    <body>
        <audio src='music.m4a' id='asdf'></audio>
        <a href='javascript:document.getElementById("asdf").play()'>dd</a>
    </body>
</html>

然后点击'dd'即可播放音乐。

我的问题是:如何在iPhone加载页面后立即自动播放音乐(并准备好播放音乐)?

PS:我添加了setInterval('if($("#asdf").attr("readyState")) console.log(1);');来检查声音是否已加载,我发现{d}后我readyState发生了更改。

4 个答案:

答案 0 :(得分:3)

不允许在iPhone和iPad上自动播放视频/音频文件。这是Apple做出的决定。

答案 1 :(得分:1)

尝试this

 <audio src='music.m4a' autoplay="autoplay" id='asdf'></audio>

答案 2 :(得分:0)

HTML音频标记具有自动播放属性,指定在加载对象后是否开始播放音频。

检查here

答案 3 :(得分:0)

你需要等到音频加载到足以开始播放它。

Documentation