Html5 - обратный вызов, когда мультимедиа готово на iPad, не будет работать - PullRequest
1 голос
/ 26 марта 2012

Я пытаюсь добавить обратный вызов для аудиоэлемента HTML5 на iPad.Я добавил EventListener к элементу, myOtherThing () запускается, но нет звука.Если я сделаю паузу и снова воспроизведу звук, начнется звук.Это работает в Chrome.У кого-нибудь есть идеи, как я могу это сделать?

    myAudioElement.src = "path_to_file";
    addEventListener("canplay", function(){
        myAudioElement.play();
        myOtherThing.start();
    });

решено

Просто хотел поделиться своим решением здесь, на тот случай, если кому-то еще это понадобится.Насколько я понимаю, iPad не вызывает никаких событий без взаимодействия с пользователем.Таким образом, чтобы иметь возможность использовать «canply», «play» и все другие события, вам нужно использовать встроенный медиа-контроллер.Как только вы нажимаете кнопку воспроизведения в этом контроллере, события запускаются.После этого вы можете использовать свой пользовательский интерфейс.

1 Ответ

1 голос
/ 26 марта 2012

Вы должны указать Safari начать загрузку файла. Кроме того, событие canplay не поддерживается на iOS . Просто позвоните play сразу после звонка load.

myAudioElement.src = "path_to_file";
myAudioElement.load(); // Start loading the audio
myAudioElement.play();
...