// JavaScript Document
// STCMS Player JS Packet
// Copyright (C) 链接已屏蔽
// Author: Dahongy@链接已屏蔽
var Player = {
player_win:'STCMS_Player',
win_obj:Object(),
win_param:'scrollbars=no,menubar=no,statusbar=no,locationbar=no,resizable=no,width=600,height=400',
// 添加歌曲到播放列�?
// @param mid 字符�?id_id_id形式
add:function(mid) {
return Player.list(mid, 'add');
},
// 添加歌曲到播放列表并播放
// @param mid 字符�?id_id_id形式
play:function(mid) {
return Player.list(mid, 'play');
},
// 添加一个url地址到播放列�?
// @param url 字符�?歌曲地址
// @param name 字符�?歌曲名称
play_url:function(url, name) {
if(typeof url == 'undefined') {return false;}
if(typeof name == 'undefined') {name = url.match(/\/([^\/]+)$/)[1]}
if(Player.get_setting('opened')!='1') {Player.openwin();}
Player.set_setting('list_changed', '1');
Player.set_setting('new_list', encodeURIComponent(url)+'|'+encodeURIComponent(name));
Player.set_setting('changed_type', 'url');
},
// 播放列表操作
// @param mid 字符�?id_id_id形式
// @param type 字符串,取值为add或者play,即添加到播放列表后是否播放,add表示仅追加列表,play表示追加列表后播�?
list:function(mid, type) {
mid = mid.toString();
if(mid.match(/^[\d_]+$/)) {
if(Player.get_setting('opened')!='1') {Player.openwin();}
var play_list = Player.get_setting('play_list');
if(play_list) {
play_list = play_list.split('_');
}
var tmp_mid_array = new Array();
tmp_mid_array = mid.split('_');
var new_list = new Array();
for(var index=0; index
if(play_list) {
if(!in_array(tmp_mid_array[index], play_list)) {
new_list.push(tmp_mid_array[index]);
}
} else {
new_list.push(tmp_mid_array[index]);
}
}
if(new_list.length>0) {
Player.set_setting('new_list', new_list.join('_'));
Player.set_setting('list_changed', '1');
Player.set_setting('changed_type', type);
SU.tip('添加成功�?);
} else {
SU.tip('您选择的歌曲已经在列表中!');
}
} else {
SU.tip('请选择列表中的歌曲�?);
return false;
}
// 检测浏览器窗口打开情况
var elapsed_time = 0;
var listen_cookies_change = function() {
if(Player.get_setting('list_changed')=='1') {
elapsed_time++;
if(elapsed_time>20) {
Player.openwin();
} else {
setTimeout(listen_cookies_change, 100);
}
}
}
listen_cookies_change();
},
// 添加整个专辑的歌曲到播放列表
// @param aid 数�?专辑id
add_album:function(aid) {
if(Player.get_setting('opened')!='1') {
Player.openwin();
}
$.ajax({
url:u('player','get_album_muisc', $.param(AUTH_DATA)),
data:{'aid':aid},
type:'POST',
success:function(data){Player.add(data);}
});
},
// 添加整个专辑的歌曲到播放列表并播�?
// @param aid 数�?专辑id
play_album:function(aid) {
if(Player.get_setting('opened')!='1') {
Player.openwin();
}
$.ajax({
url:u('player','get_album_muisc', $.param(AUTH_DATA)),
data:{'aid':aid},
type:'POST',
success:function(data){Player.add(data);}
});
},
// 打开播放窗口
openwin:function() {
Player.win_obj = window.open(u('player','index'), Player.player_win, Player.win_param);
if(Player.win_obj) {
Player.set_setting('opened', '1');
} else {
alert('打开播放窗口失败,请设置浏览器临时允许弹出窗口!');
Player.set_setting('opened', '');
}
},
// 取得播放器设置,支持opened(播放窗口是否打开)、list_changed(播放列表已变更)、new_list(临时列表,可以是mid列表也可以是url数据)、change_type(列表变化类型,add、play或url�?
get_setting:function(name) {
if(typeof COOKIE_PREFIX == 'undefined') {
var COOKIE_PREFIX = 'stcms_';
}
return get_cookie(COOKIE_PREFIX+'_Player_'+name);
},
// 设置播放器,支持opened(播放窗口是否打开)、list_changed(播放列表已变更)、new_list(临时列表)、change_type(列表变化类型,add或者play�?
set_setting:function(name, value) {
if(typeof COOKIE_PREFIX == 'undefined') {
var COOKIE_PREFIX = 'stcms_';
}
return set_cookie(COOKIE_PREFIX+'_Player_'+name, value);
},
// 删除数组中重复的�?
unique:function(array) {
var result = new Array();
if(typeof array != 'object') {
return false;
}
for(i in array) {
if(!in_array(array[i], result) && array[i]) {
result.push(array[i]);
}
}
return result;
},
// 向播放器窗口发送命�?
cmd:function(callback) {
if(Player.get_setting('opened') && Player.win_obj) {
if(Player.win_obj.document.readyState!='complete' || Player.win_obj.location.href=='about:blank') {
setTimeout(function(){return Player.cmd(callback)}, 50);
} else {
return new callback();
}
}
}
}
更多源码 | 好库简介 | 网站地图 | 帮助中心 | 版权说明
Copyright© 2009-2012 OKBASE.NET All Rights Reserved 好库网 版权所有