循环播放视频,一个接一个地播放

时间:2018-09-15 22:41:36

标签: javascript html5 video

我有一个滑块,其中3个视频必须在一个循环中逐个运行,但是,随后的每个视频必须在之前的视频结束之前(仍在运行)播放特定的时间。下面的代码运行第二个视频,但是我不知道如何标记正确的索引,因为很明显,它到达视频中的某个点后会触发多个时间。有什么想法吗?

$('.slide .video').on('timeupdate', function (e) {
    if (this.currentTime * 1000 > this.duration * 1000 - transitionDuration) {
        $activeSlide = $('.slide').eq(activeIndex + 1);
        $activeVideo = $activeSlide.find('.video');
        $activeVideo[0].play();
        $('.slide').eq(activeIndex + 1).addClass('is-animated');
    }
});

<div class="slider">
    <div class="slide">
        <video class="video"></video>
    </div>
    <div class="slide">
        <video class="video"></video>
    </div>
    <div class="slide">
        <video class="video"></video>
    </div>
</div>

1 个答案:

答案 0 :(得分:0)

我知道了,但是Chrome快要疯了,视频断断续续。我在做什么错,如何改善性能?

videos.on('timeupdate', function () {
    var progress = this.currentTime / this.duration * 100 + '%';
    $(this).closest('.slide').find('.js-video-progress').width(progress);
    if ((this.currentTime * 1000 + 1000) > this.duration * 1000) {
        if ($(this).closest('.slide').next('.slide').length) {
            $(this).closest('.slide').next('.slide').addClass('is-swiped').find('video')[0].play();
        } else {
            $('.slide').eq(0).addClass('is-swiped').find('video')[0].play();
        }
    }
});