原理:主要运用监听技术和Cookie来记录上次播放的位置,当播放器加载时,如果监听到当前状态为播放的话,那就会自动跳转到上次Cookie的记录,然后去除播放监听,同时增加对时间的监听状态,用js写入Cookie记录播放时间。需要注意的是,本示例只是一个简单演示。如果您是多个页面多个视频进行记录,写入cookie时请注意同时写入视频(页面)的id用以区分每个视频(页)所要跳转的时间。
<div id="a1"></div>
<script src="../flash/ckplayer/ckplayer.js"></script>
<script type="text/javascript">
function loadedHandler() {
if (CKobject.getObjectById('ckplayer_a1').getType()) {
addPlayListener();
}
else {
addPlayListener();
}
}
function timeHandler(t) {
if (t > -1) {
SetCookie("Time", t);
}
}
function addPlayListener() {//增加播放监听
if (CKobject.getObjectById('ckplayer_a1').getType()) {//说明使用html5播放器
CKobject.getObjectById('ckplayer_a1').addListener('play', playHandler);
}
else {
CKobject.getObjectById('ckplayer_a1').addListener('play', 'playHandler');
}
}
function playHandler() {
//alert('因为注册了监听播放,所以弹出此内容,删除监听将不再弹出');
removePlayListener();
CKobject.getObjectById('ckplayer_a1').videoSeek(getCookie("Time"));
addTimeListener();
}
function removePlayListener() {//删除播放监听事件
if (CKobject.getObjectById('ckplayer_a1').getType()) {//说明使用html5播放器
CKobject.getObjectById('ckplayer_a1').removeListener('play', playHandler);
}
else {
CKobject.getObjectById('ckplayer_a1').removeListener('play', 'playHandler');
}
}
function addTimeListener() {//增加时间监听
if (CKobject.getObjectById('ckplayer_a1').getType()) {//说明使用html5播放器
CKobject.getObjectById('ckplayer_a1').addListener('time', timeHandler);
}
else {
CKobject.getObjectById('ckplayer_a1').addListener('time', 'timeHandler');
}
}
//写cookies函数
function SetCookie(name, value)//两个参数,一个是cookie的名子,一个是值
{
var Days = 30; //此 cookie 将被保存 30 天
var exp = new Date(); //new Date("December 31, 9998");
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
}
function getCookie(name)//取cookies函数
{
var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
if (arr != null) return unescape(arr[2]); return null;
}
var flashvars = {
f: 'http://movie.ks.js.cn/flv/other/2014/06/20-2.flv',
c: 0,
p: 2,
b: 0,
i: '/static/images/letitgo.jpg',
loaded: 'loadedHandler',
my_url: encodeURIComponent(window.location.href)
};
var video = ['http://movie.ks.js.cn/flv/other/1_0.mp4->video/mp4'];
CKobject.embed('../flash/ckplayer/ckplayer.swf', 'a1', 'ckplayer_a1', '100%', '100%', false, flashvars, video);
</script>