Непрерывное воспроизведение видео - PullRequest
0 голосов
/ 12 июля 2011

У меня сейчас есть это:

Javascript

<script>
$('document').ready(function(){
  $('video').get(0).play();
 // $('video').bind('ended', function(){
 //   $(this).next('video');
 // });
  $('video').each(function(val, index){
    $(this).bind('ended', function(){
      $(this).get(index + 1).play();
    });
  });
});
</script>

HTML

<video width="703" height="704" controls preload="auto" src="LOW.mp4">Video format not supported.</video>

<h3>CBS - m4v</h3>
<video width="703" height="704" controls preload="auto" src="1100.m4v">Video format not supported.</video>

<h3>Video #3</h3>
<video width="703" height="704" controls preload="auto" src="yep.mp4">Video format not supported.</video>

Прямо сейчас, JavaScript не работает. Как воспроизвести следующее видео, как только заканчивается первое видео, а затем воспроизводить третье, когда заканчивается второе. Не всегда 3 видео, может быть больше.

1 Ответ

1 голос
/ 12 июля 2011

У вас есть две небольшие ошибки в вашем скрипте, следующий код не протестирован, но должен работать:

$(function(){
    var videos = $('video').each(function(index){
        $(this).bind('ended', function(){
            var video = videos[index + 1];
            video && video.play();
        });
    });
    if(videos.get(0).play){
        videos.get(0).play();
    }
});

Вот некоторые из ваших ошибок:

  1. каждый (fn (val, index) {}) обратный вызов каждого вызывается с индексом в качестве первого аргумента и элементом как вторым (каждый (fn (index, video) {})
  2. $ (this) .get (index + 1) это относится к элементу video, а не к списку видео (+ index также видео, см. Выше)
...