var videoObject = {
container: ‘.videosamplex’,//“#”代表容器的ID,“.”或“”代表容器的class
variable: ‘player’,//该属性必需设置,值等于下面的new chplayer()的对象
autoplay:true,//自动播放
loaded:‘loadHandler’,
video: list_url,//视频地址
};
if(cookieTime > 0) { //如果记录时间大于0,则设置视频播放后跳转至上次记录时间
videoObject[‘seek’] = cookieTime;
}
player=new ckplayer(videoObject);
//记忆播放功能–start
function loadHandler() {
player.addListener('time', timeHandler); //监听播放时间
player.addListener('ended', VideoPlayEndedHandler);//监听播放结束
}
var t1=0;
function timeHandler(t) {
cookie.set('time_' + videoID, t); //当前视频播放时间写入cookie
t1=t;
player.addListener('pause', Pause); //这个作用是监听视频暂停 Pause()主要是用来监听到暂停时需要采取的行为
}
function VideoPlayEndedHandler(){//监听视频播放完成
//更新状态为2 表示已完成!
var data={"djpx_video_play_id": djpx_video_play_id};
$.ajax({
type: 'POST',//方法类型
dataType: "json",//预期服务器返回的数据类型
url: webUrl+'/djpx_video/changestate2',//url
contentType: "application/json; charset=utf-8",
data: JSON.stringify(data),
async:false,
beforeSend: function(xhr) {
//alert(token);
token = window.localStorage.getItem('token');
xhr.setRequestHeader("Authorization",token);
},
success: function (result) {
if (result.code == 200) {
if(urlArray==""){
$("#state_name_0").html("<p style='color: seagreen'>已看完</p>");
}else{
$("#"+state_name_id+"").html("<p style='color: seagreen'>已看完</p>");
urlArray="";
}
}
else {
alert(result.message);
}
;
},
error: function () {
alert("操作失败");
}
});
//视频播放完毕 更新表中视频进度
Pause();
}
//监听视频暂停和播放完成时时---更新进度表Pause
function Pause(){
var data={"djpx_video_play_id": djpx_video_play_id,"play_schedule":t1};
$.ajax({
type: 'POST',//方法类型
dataType: "json",//预期服务器返回的数据类型
url: webUrl+'/djpx_video/addPlaySchedule',//url
contentType: "application/json; charset=utf-8",
data: JSON.stringify(data),
async:false,
beforeSend: function(xhr) {
token = window.localStorage.getItem('token');
xhr.setRequestHeader("Authorization",token);
},
success: function (result) {
if (result.code == 200) {
}
else {
alert(result.message);
}
;
},
error: function () {
alert("操作失败");
}
});
}
//end
//从数据库中读取保存的进度,就算cookie已经被清除还是会从之前最后播放的位置开始播放
var cookieTime = cookie.get(‘time_’ + videoID); //调用已记录的time
if(!cookieTime || cookieTime == undefined) { //如果没有记录值,则设置时间0开始播放
cookieTime =0;
//alert(cookieTime);
}
if (cookieTime==0){//这个playSchedule是从数据库中取出来的值–当cookieTime的值没有数据时才会用数据库中取出数据来填入cookieTime
$.ajax({
type: ‘POST’,//方法类型
dataType: “json”,//预期服务器返回的数据类型
url: webUrl+’/djpx_video/findPlaySchedule’,//url
contentType: “application/json; charset=utf-8”,
data: JSON.stringify({“djpx_video_play_id”: videoID}),
async:false,
beforeSend: function(xhr) {
//alert(token);
token = window.localStorage.getItem(‘token’);
xhr.setRequestHeader(“Authorization”,token);
},
success: function (result) {
if (result.code == 200) {
cookieTime=result.data.playSchedule;
//alert(cookieTime);
}
else {
alert(result.message);
}
;
},
error: function () {
alert("操作失败");
}
});
}