KodExplorer/plugins/jPlayer/static/main.js

125 lines
3.1 KiB
JavaScript
Raw Normal View History

2017-08-23 19:40:27 +00:00
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'],
movie:['mp4','m4v','mov', 'f4v','flv','ogv','webm','webmv']
}
//safari 已经禁用了flash
};
var res = support.chrome;
if(isWap()){
res = support.wap;
}else if(!!window.ActiveXObject || "ActiveXObject" in window){
res = support.ie;
}
return res.music.join(',') + ',' + res.movie.join(',');
}
//'mp3,wav,m4a,aac,oga,ogg,webma,mp4,m4v,flv,mov,f4v,ogv,webm,webmv'
kodApp.add({
name:"jPlayer",
title:LNG['Plugin.default.jPlayer'],
ext:playerSupport(),
//ext:"{{config.fileExt}}",
sort:"{{config.fileSort}}",
icon:'{{pluginHost}}/static/images/icon.png',
callback:function(path,ext){
2017-12-01 12:24:53 +00:00
if(isWap()){//ios不支持文件下载
window.open(core.path2url(path));
return;
}
2017-08-23 19:40:27 +00:00
var list = [{
url:core.path2url(path),
name:urlDecode(core.pathThis(path)),//zip内文件播放
ext:ext
}];
loadMyPlayer(function(player){
player.play(list);
});
}
});
var myPlayer;
var loadMyPlayer = function(callback){
var appStatic = "{{pluginHost}}static/";
var appStaticDefault = "{{pluginHostDefault}}static/";
if(myPlayer){
callback(myPlayer);
}else{
var top = ShareData.frameTop();
top.require.async(appStatic+'page.js',function(app){
if(!myPlayer){
myPlayer = app;
myPlayer.init(appStatic,appStaticDefault);
}
callback(myPlayer);
});
}
};
//音效播放绑定
Hook.bind('playSound',function(url){
loadMyPlayer(function(player){
player.playSound(url);
});
});
//多选含有音乐右键菜单
var menuOpt = {
'play-media':{
name:LNG.add_to_play,
className:"play-media hidden",
icon:"x-item-file x-mp3",
accesskey: "p",
callback:function(action,option){
if (ui.fileLight.fileListSelect().length <1) return;
var list = [];//选中单个&多个都可以播放
ui.fileLight.fileListSelect().each(function(index){
var pathtype = ui.fileLight.type($(this));
if ( kodApp.appSupportCheck('jwplayer',pathtype) ) {
var path = ui.fileLight.path($(this));
var url = core.path2url(path,false);
list.push({
url:url,
name:core.pathThis(path),
ext:pathtype
});
}
});
loadMyPlayer(function(player){
player.play(list);
});
}
}
}
$.contextMenu.menuAdd(menuOpt,'.menu-more',false,'.clone');
//多选含有音乐检测;添加到音乐列表
Hook.bind('rightMenu.show.menu-more',function($menuAt,$theMenu){
var needMenu = 0;
var hideClass = 'hidden';
ui.fileLight.fileListSelect().each(function(){
var ext = core.pathExt(ui.fileLight.name($(this)));
if ( kodApp.appSupportCheck('jPlayer',ext) ){
needMenu +=1;
}
});
if(needMenu == 0){
$theMenu.find('.play-media').addClass(hideClass);
}else{
$theMenu.find('.play-media').removeClass(hideClass);
}
});
});