Я пытаюсь создать видеоплеер, который работает везде.пока я буду идти с:
<video>
<source src="video.mp4"></source>
<source src="video.ogv"></source>
<object data="flowplayer.swf" type="application/x-shockwave-flash">
<param name="movie" value="flowplayer.swf" />
<param name="flashvars" value='config={"clip":"video.mp4"}' />
</object>
</video>
(как видно на нескольких сайтах, например видео для всех ), пока все хорошо.
нотеперь я также хочу какой-нибудь плейлист / меню вместе с видеоплеером, из которого я могу выбирать другие видео.они должны быть сразу открыты в моем плеере.так что мне придется «динамически менять источник видео» (как видно на dev.opera.com / article / все, что вам нужно знать html5-video-audio / - раздел«Давайте посмотрим на другой фильм») с javascript.давайте пока что забудем о flashplayer (и, следовательно, IE), я попытаюсь разобраться с этим позже.
, поэтому мой JS для изменения тегов <source>
должен выглядеть примерно так:
<script>
function loadAnotherVideo() {
var video = document.getElementsByTagName('video')[0];
var sources = video.getElementsByTagName('source');
sources[0].src = 'video2.mp4';
sources[1].src = 'video2.ogv';
video.load();
}
</script>
Проблема в том, что это работает не во всех браузерах.а именно, firefox = O, есть хорошая страница, где вы можете наблюдать за проблемой, с которой я сталкиваюсь: http://www.w3.org/2010/05/video/mediaevents.html
, как только я запускаю метод load () (заметьте, в firefox),видео проигрыватель умирает.
Теперь я обнаружил, что когда я не использую несколько тегов <source>
, а вместо одного атрибута src внутри тега <video>
, все это работает в Firefox.
поэтому я планирую просто использовать этот атрибут src и определить соответствующий файл с помощью функции canPlayType () .
я что-то делаю неправильно или усложняю вещи ??