gpt4 book ai didi

javascript - 带有 javascript 循环的 HTML5 视频

转载 作者:行者123 更新时间:2023-11-30 13:06:28 25 4
gpt4 key购买 nike

在尝试解决这个问题时运气不佳。

我有一个带有视频的视频标签:

    <video id="video" preload="auto" tabindex="0" controls poster="img/layout/Untitled-1.jpg">
<source type="video/mp4" src="video/1.mp4" >
Sorry, your browser does not support HTML5 audio.
</video>
<ul id="playlist">
<li class="active"><a href="video/1.mp4">GetFighted</a></li>
<li><a href="video/2.mp4">ThatGirlPossessed</a></li>
<li><a href="video/3.mp4">WhiteDevil</a></li>
</ul>

我正在使用 javascript 和 jquery 尝试循环遍历列表项(此列表可能更长或更短,它将由用户控制)并将它们放入视频本身,这适用于此:

jQuery(document).ready(function($) {
var video;
var playlist;
var tracks;
var current;


init();
function init(){
current = 0;
video = $('video');
playlist = $('#playlist');
tracks = playlist.find('li a');
len = tracks.length;
video[0].volume = .50;
playlist.find('a').click(function(e){
e.preventDefault();
link = $(this);
current = link.parent().index();
run(link, video[0]);
});

video[0].addEventListener('ended',function(e){
$('#video').animate({opacity: 0}, 500);
setTimeout(function(){
current++;
if(current == len){
current = 0;
link = playlist.find('a')[0];
console.log('here 1');
} else {
link = playlist.find('a')[current];
console.log('here');
}

$('#video').animate({opacity: 1}, 500);
run($(link),video[0]);
},500);
});
}

function run(link, player){
player.src = link.attr('href');
par = link.parent();
par.addClass('active').siblings().removeClass('active');
video[0].load();
video[0].play();
}


});

(此代码是从其他来源获取的作为引用,我忘记了在哪里)。然而,我遇到的麻烦是,一旦视频循环播放完所有 3 个视频,就停止播放视频。一旦播放完所有 3 个视频,控制台日志“此处 1”就会触发,但我不知道如何在播放完视频后停止播放视频一次。

任何帮助都会很棒。

最佳答案

只需添加

video[0].addEventListener('loadstart', function(e){
video[0].pause();
});

在你之前

console.log('here 1');  

关于javascript - 带有 javascript 循环的 HTML5 视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15523267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com