This page lists files in the current directory. You can view content, get download/execute commands for Wget, Curl, or PowerShell, or filter the list using wildcards (e.g., `*.sh`).
wget 'https://sme10.lists2.roe3.org/kodbox/plugins/jPlayer/static/main.js'
kodReady.push(function(){
var playerSupport = function(){
var support = {
wap:{//移动端
music:['mp3','m4a','aac'],
movie:['mp4','m4v','mov']
},
ie:{
music:['mp3','m4a','aac'],
movie:['mp4','m4v','mov' , 'flv','f4v']
},
chrome:{//default chrome,firefox,edge
music:['mp3','wav','aac', 'm4a','oga','ogg','webma','flac'],
movie:['mp4','m4v','mov', 'f4v','flv','ogv','webm','webmv']
}
//safari 已经禁用了flash
};
var res = support.chrome;
if($.isWap && $.browserIS.ios){
res = support.wap;
}else if(!!window.ActiveXObject || "ActiveXObject" in window){
res = support.ie;
}
var inits = _.union(res.music, res.movie);
var fileExt = "{{config.fileExt}}" ? "{{config.fileExt}}".split(",") : [];
return _.intersection(inits, fileExt).join(',');
}
var myPlayer;
var loadMyPlayer = function(callback){
var appStatic = "{{pluginHost}}static/";
var appStaticDefault = "{{pluginHostDefault}}static/";
if(myPlayer){
callback(myPlayer);
}else{
// var top = ShareData.frameTop();
var top = window;
top.requireAsync(appStatic+'page.js',function(app){
if(!myPlayer){
myPlayer = app;
myPlayer.init(appStatic,appStaticDefault);
}
callback(myPlayer);
});
}
if($.isWap && !window.jplayerInit){
window.jplayerInit = true;
$(".jPlayer-music .play-list .remove").trigger("click");
$.addStyle('.music-player-dialog{visibility:visible;}');
}
};
var musicExtArray = ['mp3','wav','aac','m4a','oga','ogg','webma','m3u8a','m3ua','flac'];
Events.bind('explorer.kodApp.before',function(appList){
appList.push({
name:'{{package.id}}',
title:'{{package.name}}',
sort:"{{config.fileSort}}",
ext:playerSupport(),
icon:'{{pluginHost}}static/images/icon.png',
callback:function(path,ext,name){
//移动端,非视频文件分享页面用跳转方式打开
var link = core.path2url(path,true);
if($.isWap && $.inArray(ext, musicExtArray) == -1){
return core.openWindow(link);
}
var list = [{
url:link,path:path,ext:ext,
name:name,//zip内文件播放
}];
loadMyPlayer(function(player){
player.play(list);
});
}
});
});
// 移动端安卓首次打开播放器不自动播放问题处理;
if($.isWap){
$.addStyle('.music-player-dialog{visibility:hidden;}');
}
//音效播放绑定
Events.bind('playSound',function(url){
loadMyPlayer(function(player){
player.playSound(url);
});
});
//多选含有音乐右键菜单
var menuShow = function(menu,app){
if(!menu.$menu.find('.playMedia').exists() ){
$.contextMenu.menuAdd({
'playMedia':{
name:LNG['explorer.addToPlay'],
className:"play-media hidden",
icon:"x-item-icon x-mp3",
accesskey: "p",
callback:function(){
var musicFiles = selectMusicFiles(app);
loadMyPlayer(function(player){
player.play(musicFiles);
});
},
}
},menu,'','.copy-to');
}
var musicFiles = selectMusicFiles(app);
var method = _.isEmpty(musicFiles) ? 'menuItemHide':'menuItemShow';
$.contextMenu[method](menu,'playMedia');
}
Events.bind({
'rightMenu.beforeShow@.menu-path-more':menuShow,
'rightMenu.beforeShow@.menu-toolbar-source-more':menuShow,
'rightMenu.beforeShow@.menu-path-guest-more':menuShow,
'rightMenu.beforeShow@.menu-toolbar-pathDefault-more':menuShow,
'rightMenu.beforeShow@.menu-simple-more':menuShow,
'rightMenu.beforeShow@.menu-toolbar-userRencent-more':menuShow,
});
var selectMusicFiles = function(app){
var list = [],pathAction = _.get(window,'kodApp.pathAction');
if(!pathAction){return;}
var listSelect = pathAction.makeParamSelect();
_.each(listSelect,function(item){
if(!item.ext || !_.includes(musicExtArray,item.ext)) return; // 过滤非音乐文件;
if(!pathAction.auth.canRead(item)) return; //必须有读取权限;
list.push({
url:core.path2url(item.path),
name:item.name,path:item.path,
ext:item.ext
});
});
return list;
}
});
wget 'https://sme10.lists2.roe3.org/kodbox/plugins/jPlayer/static/page.js'
define(function(require, exports) {
var movieTemplate = '';
var musicTemplate = '';
var MUSIC = 'music-player';
var MOVIE = 'movie-player';
var appStatic;
var create = function(playerType){
var ico = playerType == MUSIC?'mp3':'mp4';
var selector = '.'+playerType+'-dialog';
var template = movieTemplate;
var size = {width:'70%',height:'60%'};
if(playerType == MUSIC){
template = musicTemplate;
size = {width:'360px',height:'500px'};
}
var dialog = $.dialog({
id:playerType+'-dialog',
simple:true,
ico:core.icon(ico),
title:'player',
disableTab:true,
width:size.width,
height:size.height,
content:template,
resize:true,
padding:0,
fixed:true,
close:function(){
var player = getPlayer(playerType);
player && player.jPlayer("destroy");//.jPlayer("pause");
return false
}
});
dialog.DOM.wrap.addClass('my-jPlayer');
return $(selector).find(".jPlayer-container");
};
var getPlayerType = function(ext){
if (ext =='music' ) return MUSIC;
if (ext == undefined) ext = 'mp3';
if (_.includes(['mp3','wav','aac', 'm4a','oga','ogg','webma','m3u8a','m3ua','flac'],ext)) {
return MUSIC;
}else {
return MOVIE;
}
};
var getPlayer = function(playerType){
var $content = $('.'+playerType+'-dialog .jPlayer-container');
if($content.length == 0 ) return false;
return $content;
}
/*
html5:mp3,webma,oga,ogg,wav | webmv,ogv,m4v,mp4,mov
flash:mp3,m4a,m4v,mov,mp4,flv
Safari:mp3,m4a | mp4,m4v,mov
Chrome,Firefox: mp3,m4a,webma,oga,wav | webmv,ogv,m4v,mp4,mov
IE9:mp3,m4a | m4v,mp4
*/
var getMedia = function(item){
var typeArr = {
'mp4' : 'm4v',
'm4v' : 'm4v',
'mov' : 'm4v',
'ogv' : 'ogv',
'webm': 'webmv',
'webmv':'webmv',
'flv' : 'flv',
'fla' : 'flv',
'f4v' : 'flv',
'flac': 'flac',
'f4a' : 'flv',
'mp3' : 'mp3',
'wav' : 'wav',
'm4a' : 'mp3',
'aac' : 'mp3',
'ogg' : 'oga',
'oga' : 'oga',
'webma':'webma'
};
var ext = item['ext'];
var key = typeArr[ext];
var media = {
'extType':key,
'title':item['name'],
'url':item['url'],path:item.path,
'solution' : (ext=='flv' || ext == 'f4v') ? "flash" : "html,flash"
}
media[key] = item['url'];
return media;
}
var playStart = function(player,media){
if(!media) return;
var $playerBox = player.parents('.jPlayer');
var config = {
solution:media.solution,
//solution:'flash',
swfPath: appStatic+"jPlayer/jquery.jplayer.swf",
volume: 0.8, //默认音量
muted: false,
}
$playerBox.attr('id',UUID());
player.jPlayer("destroy");
player.find(".jPlayer-container").children().remove();
var playerConfig = jPlayerConfigInit($playerBox,config);
// 回调处理;
var dialog = $playerBox.parents('.my-jPlayer').data('artDialog');
var isMovie = $playerBox.parents('.movie-player-dialog').length == 1;
if( dialog && isMovie){
var playLoaded = playerDialogResize($playerBox,dialog,false);
playerConfig.loadedmetadata = function(){
dialog.size('70%','80%');//
playLoaded();
};
}
player.jPlayer(playerConfig);
if(player.find('object').length > 0){
$playerBox.addClass('flashPlayer');
}else{
$playerBox.removeClass('flashPlayer');
}
//delay start play;
player.jPlayer("setMedia",media);
player.jPlayer("play");
jPlayerBindControl($playerBox);
$playerBox.find('audio').attr('autoplay','autoplay').removeAttr('muted');
// plaryer.mute(false);//取消静音;兼容android;
if(window.kodApp && kodApp.mediaAutoPlay === false){player.jPlayer("pause");}
if(window.kodApp && kodApp.videoLoadSmall && isMovie){
// kodApp.videoLoadSmall(media.path,kodApp,$playerBox,function(normalSrc,size){
// if(!normalSrc){return;}
// media[media.extType] = normalSrc;
// player.jPlayer("setMedia",media);player.jPlayer("play");
// });
}
//移动端;微信,safari等屏蔽了自动播放;首次点击页面触发播放;
//$playerBox.find('.aui-content').one("touchstart mousedown",play);
if(dialog){
setTimeout(function(){
var ext = pathTools.pathExt(media.title);
dialog.title(core.icon(ext) + media.title);
},100);
}
}
/**
* 根据视频尺寸,自动调整窗口尺寸及位置,确保视频能够完整显示
*
* 1. 对话框全屏后才加载完成, 不处理尺寸;
* 2. 对话框全屏后才加载完成,再次还原窗口时处理视频尺寸;
*/
var playerDialogResize = function($player,dialog,animate){
var isReset = false;
if(!dialog) return;
// 已经重置过尺寸的不再重置, 视频未加载完成不重置, 最大化时不重置;
var resetSize = function(fileLoad){
if(isReset && !fileLoad) return;
if(!dialog.$main || dialog.$main.hasClass('dialog-max')) return;
isReset = true;
var $video = $player.find('video');
var vWidth = $video.width();
var vHeight = $video.height();
var wWidth = $(window).width() * 0.9;
var wHeight = $(window).height() * 0.9;
if(vHeight >= wHeight){
vWidth = (wHeight * vWidth) / vHeight;
vHeight = wHeight;
}
if( vWidth >= wWidth ){
vHeight = (wWidth * vHeight) / vWidth;
vWidth = wWidth;
}
var left = ($(window).width() - vWidth) / 2;
var top = ($(window).height() - vHeight) / 2;
if(animate){
var maxClass = 'dialog-change-max';
dialog.$main.removeClass(maxClass).addClass(maxClass);
setTimeout(function(){dialog.$main.removeClass(maxClass);},350);
}
dialog.size(vWidth,vHeight).position(left,top);
// console.error(202,[vWidth,vHeight],[left,top],dialog.$main.attr('class'));
}
var clickMaxBefore = _.bind(dialog._clickMax,dialog);
dialog._clickMax = function(){
clickMaxBefore();
setTimeout(function(){
if(dialog.$main.hasClass('dialog-max')) return;
resetSize();
},350); //尺寸调整动画完成后处理;
}
return function(){resetSize(true);};
};
var play = function(list){
playerLoad();
var ext = list[0]['ext'];
var playerType = getPlayerType(ext);
var player = getPlayer(playerType);
var media = getMedia(list[0]);
if(!player){
player = create(playerType);
if(playerType == MUSIC){
musicPlayer.init();
}
}
if(playerType == MUSIC){
media = musicPlayer.insert(player,list,ext);
}
playStart(player,media);
try{
$.dialog.list[playerType+'-dialog'].display(true);
}catch(e){};
}
var musicPlayer = (function(){
var playList = [];
var playCurrent = 0;
var player = null;
var loopType = 'circle';//circle,rand
// 播放列表记录; 按用户区分; 如果为外链分享则按外链分享id区分;
var storeList = function(setValue){
var storeKey = 'jplayerMusicList';var _storeKey = storeKey;
if(window.G && window.G.user && window.G.user.userID){storeKey += '-user-'+G.user.userID;}
if(window.App && window.App.shareID){storeKey = _storeKey + '-share-'+App.shareID;}
// console.error(103,storeKey,playList,LocalData.getConfig(storeKey,[]));
if(setValue){return LocalData.setConfig(storeKey,playList);}
var listData = LocalData.getConfig(storeKey,[]);
if(!listData || !listData.length){listData = [];}
return listData;
}
var insert = function(thePlayer,list){
if(playList.length == 0){playList = storeList();}
player = thePlayer;
var findIndex = -1;
for (var i = 0; i < list.length; i++) {//插入后默认播放列表的最后一个
var exists = false;
var find = 0;
for (find = 0; find < playList.length; find++) {
if(playList[find]['url'] == list[i]['url']){
exists = true;findIndex = find;
break;
}
}
// 已存在则不插入
// 插入后默认播放列表的最后一个;最后一个已存在则不做处理
if(exists){
if(i == list.length - 1){
if(playCurrent != find){
playIndex(find);
}
}
continue;
}
playList.push( getMedia(list[i]));
}
playCurrent = (findIndex == -1) ? (playList.length-1) : findIndex;
updateView(true);
storeList(true);
return playList[playCurrent];
}
var playIndex = function(index){
index = index <= 0 ? 0 : index;
index = index >= playList.length-1 ? playList.length-1 : index;
playCurrent = index;
var media = playList[index];
playStart(player,media);
updateView(false);
}
var playAt = function(type){
switch(loopType){
case 'circle':
if(type == 'next'){
if(playCurrent < playList.length-1){
playIndex(playCurrent+1);
}else{
playIndex(0);
}
}else{//prev
if(playCurrent-1 < 0){
playIndex(playList.length-1);
}else{
playIndex(playCurrent-1);
}
}
break;
case 'rand':playIndex(roundFromTo(0,playList.length)-1);break;
case 'one':playIndex(playCurrent);break;
default:break;
}
}
var remove = function(index){
playList.splice(index,1);
playIndex(index);
updateView(true);
storeList(true);
}
var download = function(index){
var media = playList[index];
var url = media.url+'&download=1';
kodApp.download(url);
}
var init = function(){
playCurrent = 0;
playList = [];
loopType = 'circle';
var $playBox = $('.jPlayer-music');
var arr = [
{icon:"ri-repeat-line-2",loop:'circle'},
{icon:"ri-shuffle-line",loop:'rand'},
{icon:"ri-repeat-one-line loop-one",loop:'one'},
];
$playBox.find('.change-loop').unbind('click').bind('click',function(){
var index = parseInt($(this).attr('data-loop')) + 1;
index = index < 0 ? 0 : index;
index = index >= arr.length ? 0 : index;
var cell = arr[index];
$(this).attr('data-loop',index).find('i').attr('class',cell.icon);
loopType = cell.loop;
});
$playBox.find('.play-backward').unbind('click').bind('click',function(){
playAt('prev');
});
$playBox.find('.play-forward').unbind('click').bind('click',function(){
playAt('next');
});
$playBox.find('.show-list').unbind('click').bind('click',function(e){
$playBox.parents('.music-player-dialog').toggleClass('hide-play-list');
stopPP(e);
});
$playBox.find('.play-list .item').die('click').live('click',function(e){
var index = $(this).index();
playIndex(index);
stopPP(e);
});
$playBox.find('.play-list .remove').die('click').live('click',function(e){
var $item = $(this).parents('.item');
var index = $item.index();
$item.remove();
remove(index);
stopPP(e);
return false;
});
$playBox.find('.play-list .download').die('click').live('click',function(e){
var index = $(this).parents('.item').index();
download(index);
stopPP(e);
return false;
});
// $.hoverAnimate({el:'.play-list .item',delegate:$playBox});
}
var updateView = function(resetList){
var $playBox = $(player).parents('.jPlayer');
if(resetList){
var html = '';
$.each(playList,function(i,val){
html +=
'<li class="item ripple-item">\
<span class="name">'+val.title+'</span>\
<div class="action-right">\
<span class="download"><i class="font-icon ri-download-fill-2"></i></span>\
<span class="remove"><i class="font-icon ri-close-line"></i></span>\
</div>\
</li>';
});
$playBox.find('.play-list .content').html(html);
}
if(playList.length == 0 || !playList[playCurrent]){
playCurrent = 0;
$playBox.find('.item-title').html(" ");
player.jPlayer("destroy");
player.find(".jPlayer-container").children().remove();
return;
}
$playBox.find('.item-title').html(playList[playCurrent].title);
$playBox.find('.item').removeClass('this');
$playBox.find('.item:eq('+playCurrent+')').addClass('this');
colorful($playBox.find('.player-bg'));
}
var colorful = function($dom){
var from = randomColor();
var to = randomColor();
var rotate = '160deg';
var css =
"background-image: -webkit-linear-gradient("+rotate+", "+from+", "+to+");\
background-image: -moz-linear-gradient("+rotate+", "+from+", "+to+");\
background-image: -o-linear-gradient("+rotate+", "+from+", "+to+");\
background-image: -ms-linear-gradient("+rotate+", "+from+", "+to+");\
background-image: linear-gradient("+rotate+", "+from+", "+to+");"
$dom.attr('style',css);
}
var randomColor = function(r,g,b){
return '#'+(Math.random()*0xffffff<<0).toString(16);
}
return {
insert:insert,
init:init
};
})();
var readyPlay = function(list){
if( !$.isArray(list) || list.length == 0){
Tips.tips(LNG['explorer.error'],false);
}
var playerType = getPlayerType(list[0]['ext']);
if(playerType == MOVIE){
requireAsync([
appStatic+'jPlayer/kod.flat/template.js',
appStatic+'jPlayer/jquery.jplayer.min.js',
appStatic+'jPlayer/kod.flat/control.js',
appStatic+'jPlayer/kod.flat/style.css'
],function(){
movieTemplate = jplayerTemplateMovie;
play(list);
});
}else{
requireAsync([
appStatic+'jPlayer/kod.flat/template.js',
appStatic+'jPlayer/jquery.jplayer.min.js',
appStatic+'jPlayer/kod.flat/control.js',
appStatic+'jPlayer/kod.flat/style.css'
],function(a){
musicTemplate = jplayerTemplateMusic;
play(list);
});
}
}
//后台播放声音;
var playSound = function(sound){//mp3
var playerKey = 'x-play-sound';
if($('.'+playerKey).length == 0){
$('<div style="width:0px;height:0px;" class="'+playerKey+'"></div>').appendTo('body');
}
var $dom = $('.'+playerKey);
requireAsync(appStatic+'jPlayer/jquery.jplayer.min.js',function(a){
playerLoad();
var config = {
solution:'html',//'html,flash'
swfPath: appStatic+'jPlayer/jquery.jplayer.swf',
media:{title: "",mp3:sound},
ready:function(){
$dom.jPlayer("setMedia",config.media).jPlayer("play");
}
}
$dom.jPlayer("destroy").children().remove();
$dom.jPlayer(config);
});
}
var isPlayerLoad = false;
var playerLoad = function(){
if(isPlayerLoad) return;
isPlayerLoad = true;
// 解决首次打开时报错问题
if(window.HTMLMediaElement){
var oldPlay = HTMLMediaElement.prototype.play;
HTMLMediaElement.prototype.play = function(){
// this.load();
var playPromise = oldPlay.apply(this,arguments);
if (playPromise !== undefined) {
playPromise.then(function(){}).catch(function(){})
}
}
}
// 解决切换音乐时,blank报错问题;
$.jPlayer.prototype._html_clearMedia = function() {
if ( this.htmlElement.media ) {
this.htmlElement.media.removeAttribute( 'src' );
this.htmlElement.media.load();
}
};
};
return {
init:function(staticPath,staticDefault){
appStatic = staticPath;
appStaticDefault = staticDefault;
},
playSound:playSound,
play:readyPlay
};
});