Отсутствует видеозапись "html5 video" на iPad

Иногда мое видео HTML5 не генерирует событие "завершено" на iPad. Кажется, это произойдет, когда я опускаю атрибут "controls" и начинаю воспроизведение с javascript. Обычно он работает нормально в первый раз, но во второй раз видео воспроизводится, но не генерирует "завершенное" событие. Я вызываю "load()" после каждого воспроизведения, чтобы reset до начала клипа (потому что поиск не работает вообще - см. этот поток). У меня есть обходное решение, которое должно отслеживать события "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

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