Воспроизведение музыки (в iPhone) сразу после загрузки страницы (с использованием HTML5 / JS) - PullRequest
2 голосов
/ 29 июля 2011

Я обнаружил, что:

<!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);'); для проверки, загружен ли звук, и обнаружил, что readyState изменяется сразу после нажатия кнопки 'dd'.

Ответы [ 4 ]

3 голосов
/ 29 июля 2011

Автозапуск видео / аудио файлов на iPhone и iPad не разрешен.Это решение, принятое Apple.

1 голос
/ 29 июля 2011

Попробуйте это

 <audio src='music.m4a' autoplay="autoplay" id='asdf'></audio>
0 голосов
/ 29 июля 2011

Вам нужно подождать, пока аудио не загрузится достаточно, чтобы начать его воспроизведение.

Документация .

0 голосов
/ 29 июля 2011

HTML-тег аудио имеет атрибут autoplay , который указывает, следует ли начинать воспроизведение аудио сразу после загрузки объекта.

Чек здесь

...