Автозапуск аудио файлов на iPad с HTML5 - PullRequest
84 голосов
/ 10 июня 2010

Я пытаюсь получить аудиофайл для автозапуска в Safari на iPad. Если я захожу на страницу с помощью Safari на моем Mac, это нормально. На iPad автозапуск не работает.

Ответы [ 15 ]

1 голос
/ 15 октября 2011

Мое решение запускается из реального сенсорного события в предыдущем меню.Конечно, они не заставляют вас использовать интерфейс конкретного игрока.Для моих целей это работает хорошо.Если у вас нет существующего интерфейса, вы можете ошибаться.Может быть, вы могли бы попробовать события наклона или что-то ...

1 голос
/ 03 января 2011

Если вы создаете элемент Audio с помощью:

var a = new Audio("my_audio_file.wav");

и добавляете прослушиватель событий suspend с помощью:

a.addEventListener("suspend", function () {console.log('suspended')}, false);

, а затем загружаете файл в мобильный Safari (iPad илиiPhone), вы увидите, что «приостановлено» будет зарегистрировано в консоли разработчика.В соответствии со спецификацией HTML5 это означает: «Пользовательский агент преднамеренно не извлекает медиа-данные, но не загружает весь медиа-ресурс».

Вызов последующего a.load (), тестирование наСобытие canplay, а затем использование a.play () кажется подходящим методом для автоматического запуска звука.

0 голосов
/ 30 мая 2017

Я справился с этим, прикрепив обработчик событий для всех событий, для которых вам разрешено запускать звук к элементу body, который запускает любые html-аудио элементы с автовоспроизведением для однократного воспроизведения.

var mobile = /iPad|iPhone|iPod|android/.test(navigator.userAgent) && !window.MSStream;
if (mobile) {
    $('body').on('touchstart click doubleclick keydown', function() {
        $("audio[autoplay='autoplay']").each(
            function(){
                this.play();
                this.removeAttribute('autoplay');
            });
    });
}
0 голосов
/ 19 октября 2012

Работает с jQuery, протестировано на Ipad v.5.1.1

$('video').get(0).play();

Вы должны добавить / удалить элемент видео со страницы.

0 голосов
/ 10 сентября 2010

Кажется, что это работает:

<html>
<title>
iPad Sound Test  - Auto Play
</title>
</head>
<body>
<audio id="audio" src="mp3test.mp3" controls="controls" loop="loop">
</audio>
<script type="text/javascript"> 
    window.onload = function() {
        var audioPlayer = document.getElementById("audio");
        audioPlayer.load();
        audioPlayer.play();
    };
    </script> 

</body>
</html>

Смотрите это в действии здесь: http://www.johncoles.co.uk/ipad/test/1.html (В архиве)

Начиная с iOS4.2 это больше не работает.К сожалению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...