2014-01-15 2 views
0

У меня есть видео HTML5, которое мигает черным только при компиляции через телефонную разборку. Когда начинается видео, появляется черная вспышка между плакатом и первым кадром видео. Вспышка длится от 0,5 секунды до 5 секунд. Когда я беру одну и ту же страницу и запускаю ее в браузере вместо телефонной запинки, она легко воспроизводится с плаката на видео.PhoneGap inline html5 видео черная вспышка перед началом видео

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

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

Javascript:

onVideoExit() 
videoElement.currentTime = 0; 
videoElement.pause(); 

onVideoEnter() 
videoElement.play(); 

HTML:

<div> 
    <video width="140" height="210" webkit-playsinline preload> 
     <source src=http://www.w3schools.com/html/mov_bbb.mp4 type="video/mp4"> 
    </video> 

</div> 

config.xml:

<preference name="AllowInlineMediaPlayback" value="true" /> 
+0

примечание стороны, атрибут «преднагрузка» не влияет на это, он просто занимает больше времени для видео, чтобы выключить плакат, но черная вспышка такая же длина – brandon

+0

ждет события loadeddata также Безразлично Помогите. вспышка происходит, даже если я жду 5 минут перед воспроизведением видео. В первый раз, когда я воспроизвожу видео с момента обновления представления, он мигает черным. (он не мигает черным, если видео мало или если я нахожусь в быстром интернет-соединении). Я думаю, что веб-библиотека IOS неправильно обрабатывает загруженные события. Видео требует времени, чтобы переключиться с изображения плаката на видео – brandon

ответ

0

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

var theVideo = document.getElementById("myAwesomeVideo"); 
theVideo.addEventListener('loadeddata', function() { 
    theVideo.play(); 
}); 
+0

забыл упомянуть, я попробовал это. Это только в телефоне. Мобильное сафари прекрасно справляется с этим. Я могу установить атрибут предварительной загрузки или дождаться события loadeddata. независимо от того, он мигает черным, прежде чем играть в линию в течение времени, которое, похоже, зависит от ширины полосы и размера видео – brandon

Смежные вопросы