Это немного странно, но если вы удалите рамку плаката (я также убедился, что метод hideVideo
был определен, чтобы избежать генерации исключения), он работает (скрипка).
Я пробовал использовать JPG
вместо PNG
для рамки плаката с теми же результатами (скрипка). И когда вы заменяете видео на видео со звуком, становится очевидно, что видео воспроизводится, но его не видно (fiddle).
Мне кажется, что это ошибка в Chrome, но Google не особо выдавил, когда я искал (возможно, мои термины были неправильными).
Поэтому быстрое исправление, вероятно, состоит в том, чтобы просто удалить кадр плаката, который, поскольку Chrome будет отображать первый кадр видео при его загрузке, вероятно, в любом случае довольно близок к тому, что вы ищете.
Обновление:
В качестве альтернативы вы можете использовать хак, подробно описанный в этой ветке на аналогичной проблема, которая включает динамическое добавление элементов управления в проигрыватель перед началом воспроизведения и немедленное их удаление (скрипка ). Автор подтвердил, что проблема является ошибкой в Chrome, убедившись, что она не возникает в Chrome 19.
HTML:
<div id="wrapper">
<video id="video-example" poster="http://www.manart.de/fileadmin/cover.png" width="880" height="495" loop>
<source id='mp4'
src="http://www.manart.de/fileadmin/schiffchen.mp4"
type='video/mp4'>
<source id='ogv'
src="http://www.manart.de/fileadmin/schiffchen.ogg.ogv"
type='video/ogg'>
</video>
</div>
JavaScript:
var vid = document.getElementById('video-example');
// add the listener directly to the video element
vid.addEventListener('mouseover',hoverVideo,false);
function hoverVideo(e) {
if (vid.getAttribute('controls') != 'true') {
vid.setAttribute('controls', 'true');
}
vid.play();
vid.removeAttribute('controls');
vid.addEventListener('mouseout',hideVideo,false);
}
function hideVideo(e) {
// do whatever you were going to do here, but omitting
// the method completely causes an exception
//vid.pause();
// clean up the listener when finished
vid.removeEventListener('mouseout', hideVideo);
}
person
net.uk.sweet
schedule
10.08.2012