отсутствует пропавшее html5-видео событие на iPad - PullRequest
14 голосов
/ 06 октября 2010

Иногда мое HTML5-видео не генерирует «завершенное» событие на iPad. Кажется, это происходит только тогда, когда я опускаю атрибут «controls» и начинаю воспроизведение из javascript. В первый раз он обычно работает нормально, но во второй раз видео воспроизводится, но не генерирует событие «закончилась». Я вызываю «load ()» после каждого воспроизведения для сброса в начало клипа (потому что поиск не работает вообще - см. этот поток ). У меня есть обходной путь, который заключается в отслеживании событий «timeupdate» и выполнении моих действий в конце игры, когда vid.currentTime>=vid.duration, но мне было интересно, сталкивался ли кто-нибудь еще с этой проблемой. Ниже приведен соответствующий код.

Приветствие -Крис

Функция загрузки документа:

function load() {
    var vid = document.getElementById('vid');
    vid.addEventListener('ended', function() {
        alert('video ended');
        vid.load();
    },false);
}

HTML:

<body onload="load();">
<h1>HTML5 Video Test</h1>
<input type="submit" value="Play" onclick="document.getElementById('vid').play();">
<video id="vid" src="test.mov" width="640" height="480"></video>
</body>

1 Ответ

2 голосов
/ 29 марта 2011

Не используйте load() для форсирования поиска.Если вы установите video.currentTime на 0.1 вместо 0, видео перейдет к началу, а событие ended все равно будет отправлено правильно.(Проверено на iOS 3.2 и 4.2)

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