功能性: jPlayer播放视频列表,每个视频都有不同的mp4名称。因此,在第一个视频播放结束后,jPlayer将播放第二个视频并继续播放视频,直到它到达视频列表中的最后一个视频,之后它将重复播放第一个视频,重复第一个视频视频到最后一个视频。
因此,它正在循环播放
已完成的工作:
问题
jPlayer播放视频列表中的整个视频:video_01到video_0N后,视频停止播放并且不会循环回到第一个视频以重复播放列表。其次,播放视频列表的最后一个视频时会显示错误消息:
错误消息:未捕获的TypeError:无法读取未定义的jquery.jplayer.min.js的属性'split':66
因此,在这一点上,我可以得到一些帮助来纠正以下问题,并告知导致此错误的可能原因,并且jPlayer视频不会从列表中的第一个视频重播。
感谢。
var videoList = ["lib/video/Video_01.mp4", "lib/video/Video_02.mp4", "lib/video/Video_03.mp4", "lib/video/Video_04.mp4", "lib/video/Video_05.mp4", "lib/video/Video_06.mp4", "lib/video/Video_07.mp4", "lib/video/Video_08.mp4", "lib/video/Video_09.mp4", "lib/video/Video_10.mp4"];
var videoIndex = 0;
$(function() {
//Video Player for First page & to play subsequent videos after 1st video is completed
$("#Start_Video").jPlayer({
ready: function() {
$("#Start_Video").jPlayer("setMedia", {
m4v: videoList[videoIndex]
}).jPlayer("play");
},
ended: function() {
videoIndex++;
if (videoIndex > videoList.length) {
videoIndex = 0;
}
$("#Start_Video").jPlayer("setMedia", {
m4v: videoList[videoIndex]
}).jPlayer("play");
},
swfPath: "javascript",
supplied: "webmv, ogv, m4v",
size: {
width: 1920,
height: 1080
}
});
$("#HBOStart_Video").show();
});
<script src="javascript/jquery-1.11.3.min.js"></script>
<script src="javascript/jquery-ui-1.10.3.min.js"></script>
<script src="javascript/jplayer.playlist.min.js"></script>
<script src="javascript/jquery.jplayer.min.js"></script>
<div id="StartPage" align="center" style="position:absolute; width:1920px; height:1080px; background-repeat: no-repeat; z-index=1; top:0px; left:0px;">
<div id="Start_Video" style="position:absolute; z-index:1;"></div>
</div>
答案 0 :(得分:1)
我认为你要在这里查看索引:
ended: function() {
videoIndex++;
if (videoIndex > videoList.length) {
videoIndex = 0;
}
示例:videoList [10]索引为{0,1,2,...,9},因此最大值“videoIndex”可能为9,但videoList.length返回10,如果(videoIndex&gt; videoList) .length)与if(videoIndex&gt; 10)相同,它允许“videoIndex”为10 ...(10> 10假)
将你的if改为:
//(videoIndex == 10 ? videoIndex = 0)
//the max value of videoIndex should be n-1, because the array is 0 based.
if (videoIndex >= videoList.length) {
videoIndex = 0;
}
错误:
发生错误消息:未捕获的TypeError:无法读取未定义的jquery.jplayer.min.js的属性'split':66
是因为你试图拆分videoList [10]的内容......(videoList定义了10个视频名称字符串:videoList [10])