为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码demo、知识点讲解、注意事项等,供您参考。
本模块封装了oxMusicPlayer 音乐,音频播放器
模块概述
oxMusicPlayer音频播放器 播放音乐 有声小说,支持缓存 播放模式 控件自定义
android exoPlayer内核, ios ijk 内核
初始化
var ox = api.require('oxMusicPlayer');
ox.init({
playMode:3,//1单曲循环2随机播放3列表循环4顺序播放
openCache:true,//是否开启缓存
openNotification:true//是否开启显示状态栏通知
});
Android,ios系统
可提供的1.0.0
公用监听接口
var ox = api.require('oxMusicPlayer');
//code事件
//播放状态 播放错误-1 正在播放0 暂停1 结束2 缓冲中3
//播放中返回 反冲进度 播放进度4 音频切换返回当前音频数据5
//自定义控件事件要与控件定义的code 保持一致 不能重复
ox.addEventListener(function(ret) {
var code = ret.code;
});
Android,ios系统
可提供的1.0.0
打开大窗界面
var ox = api.require('oxMusicPlayer');
var data = [{
"id": 1,
"title": "在那之后",
"artist": "缪礼丞 / Mikey-18 / Tiko",
"albumName": "--",
"pic": "http://p2.music.126.net/ZuJ6QoksVgpSzNzUxjk5XA==/109951168002270456.jpg",
"music_url": "http://music.163.com/song/media/outer/url?id=1992695240.mp3",
"description": "如果说当时分开是巧合..."
}
];
var closeBtn = {
type: 'component',
x: 10,
y: 40,
w: 25,
h: 25,
radius: 5,
backgroundColor: '#01000000',
alpha: 0.1,
border: 0,
borderColor: '#01000000',
code: 26,
hidden: false,
animation: 0,
pics: [{ path: 'widget://image/close.png', x: 0, y: 0, w: 25, h: 25, code: 261 }],
texts: []
}; //自定义控件
var cover = {
type: 'cover',
hidden: false,
x: w / 2 - 140,
y: 80,
w: 280,
h: 280,
radius: 10,
code:24
}; //封面
var danmaku = {
type: 'danmaku',
hidden: true,
x: 0,
y: 80,
w: w,
h: 240,
code:25
}; //封面
var title = {
type: 'title',
hidden: false,
x: 45,
y: 350,
w: w - 90,
h: 60,
textColor: '#FFFFFF',
textSize: 18
}; //标题
var artist = {
type: 'artist',
hidden: false,
x: 45,
y: 370,
w: w - 90,
h: 60,
textColor: '#E0E0E0',
textSize: 14
}; //作者
var progress = {
type: 'progress',
hidden: false,
x: 45,
y: 400,
w: w - 90,
h: 60,
progressColor:'#50CDD4',
bufferColor:'#FFFFFF',
progressThumb:'widget://image/thumb.png'
}; //进度条位置
var playPause = {
type: 'playPause',
hidden: false,
x: w / 2 - 30,
y: 460,
w: 60,
h: 60
}; //位置
var components = [closeBtn, progress, playPause, cover,danmaku,title,artist];
ox.openFullView({
fixedOn: api.frameName,
rect: { x: 0, y: 0, w: w, h: h },
fixed: true,
components: components,//自定义控件
backgroundColor: '#607D8B',//背景色
currentIndex: 0,//首次打开播放音频index
radius: 0,//界面圆角
data: data//音频数据
});
Android,ios系统
可提供的1.0.0
关闭大窗界面
var ox = api.require('oxMusicPlayer');
ox.closeFullView();
Android,ios系统
可提供的1.0.0
隐藏大窗界面
var ox = api.require('oxMusicPlayer');
ox.hideFullView();
Android,ios系统
可提供的1.0.0
显示大窗界面
var ox = api.require('oxMusicPlayer');
ox.showFullView();
Android,ios系统
可提供的1.0.0
打开小窗界面
var ox = api.require('oxMusicPlayer');
自定义控件 data数据参考 大窗界面
ox.openSmallView({
fixedOn: api.frameName,
rect: { x: 0, y: 0, w: w, h: h },
fixed: true,
components: components,//自定义控件
backgroundColor: '#607D8B',//背景色
currentIndex: 0,//首次打开播放音频index
radius: 0,//界面圆角
data: data//音频数据
});
Android,ios系统
可提供的1.0.0
关闭小窗界面
var ox = api.require('oxMusicPlayer');
ox.closeSmallView();
Android,ios系统
可提供的1.0.0
隐藏小窗界面
var ox = api.require('oxMusicPlayer');
ox.hideSmallView();
Android,ios系统
可提供的1.0.0
显示小窗界面
var ox = api.require('oxMusicPlayer');
ox.showSmallView();
Android,ios系统
可提供的1.0.0
打开音乐播放 无界面
var ox = api.require('oxMusicPlayer');
ox.openWithoutView({
currentIndex: 0,
data: data
});
Android,ios系统
可提供的1.0.0
关闭播放器包括后台运行
var ox = api.require('oxMusicPlayer');
ox.stop();
Android,ios系统
可提供的1.0.0
暂停播放
var ox = api.require('oxMusicPlayer');
ox.pause();
Android,ios系统
可提供的1.0.0
恢复播放
var ox = api.require('oxMusicPlayer');
ox.resume();
Android,ios系统
可提供的1.0.0
下一首
var ox = api.require('oxMusicPlayer');
ox.next();
Android,ios系统
可提供的1.0.0
上一首
var ox = api.require('oxMusicPlayer');
ox.pre();
Android,ios系统
可提供的1.0.0
前进15秒
var ox = api.require('oxMusicPlayer');
ox.forward({ms:15000});
Android,ios系统
可提供的1.0.0
后退15秒
var ox = api.require('oxMusicPlayer');
ox.backup({ms:15000});
Android,ios系统
可提供的1.0.0
划动到固定位置播放
var ox = api.require('oxMusicPlayer');
ox.seekTo({ms:15000});
Android,ios系统
可提供的1.0.0
设置音量
var ox = api.require('oxMusicPlayer');
ox.setVolume({volume:0.5});
Android,ios系统
可提供的1.0.0
获取当前音量
var ox = api.require('oxMusicPlayer');
ox.getVolume(function(ret) {
var volume = ret.volume;
});
Android,ios系统
可提供的1.0.0
设置倍速
var ox = api.require('oxMusicPlayer');
ox.setSpeed({speed:2});
Android,ios系统
可提供的1.0.0
获取当前倍速
var ox = api.require('oxMusicPlayer');
ox.getSpeed(function(ret) {
var speed = ret.speed;
});
Android,ios系统
可提供的1.0.0
设置播放模式
var ox = api.require('oxMusicPlayer');
//1单曲循环2随机播放3列表循环4顺序播放
ox.setPlayMode({playMode:2});
Android,ios系统
可提供的1.0.0
获取当前倍速
var ox = api.require('oxMusicPlayer');
ox.getPlayMode(function(ret) {
//1单曲循环2随机播放3列表循环4顺序播放
var playMode = ret.playModed;
});
Android,ios系统
可提供的1.0.0
播放index索引音频
var ox = api.require('oxMusicPlayer');
ox.playIndex({index:2});
Android,ios系统
可提供的1.0.0
获取当前播放音频数据包括索引
var ox = api.require('oxMusicPlayer');
ox.getCurrentInfo(function(ret) {
var data = ret.data;
var index = ret.index;
});
Android,ios系统
可提供的1.0.0
在原数据前加音频数据
[{
"id": 1,
"title": "在那之后",
"artist": "缪礼丞 / Mikey-18 / Tiko",
"albumName": "--",
"pic": "http://p2.music.126.net/ZuJ6QoksVgpSzNzUxjk5XA==/109951168002270456.jpg",
"music_url": "http://music.163.com/song/media/outer/url?id=1992695240.mp3",
"description": "如果说当时分开是巧合..."
}
]
var ox = api.require('oxMusicPlayer');
ox.addDatasBefore({data:data},function(ret) {
var code = ret.code;
//0成功 -1失败
});
Android,ios系统
可提供的1.0.0
在原数据后加音频数据
[{
"id": 1,
"title": "在那之后",
"artist": "缪礼丞 / Mikey-18 / Tiko",
"albumName": "--",
"pic": "http://p2.music.126.net/ZuJ6QoksVgpSzNzUxjk5XA==/109951168002270456.jpg",
"music_url": "http://music.163.com/song/media/outer/url?id=1992695240.mp3",
"description": "如果说当时分开是巧合..."
}
]
var ox = api.require('oxMusicPlayer');
ox.addDatasAfter({data:data},function(ret) {
var code = ret.code;
//0成功 -1失败
});
Android,ios系统
可提供的1.0.0
更新音频数据
[{
"id": 1,
"title": "在那之后",
"artist": "缪礼丞 / Mikey-18 / Tiko",
"albumName": "--",
"pic": "http://p2.music.126.net/ZuJ6QoksVgpSzNzUxjk5XA==/109951168002270456.jpg",
"music_url": "http://music.163.com/song/media/outer/url?id=1992695240.mp3",
"description": "如果说当时分开是巧合..."
}
]
var ox = api.require('oxMusicPlayer');
ox.updateDatas({data:data},function(ret) {
var code = ret.code;
//0成功 -1失败
});
Android,ios系统
可提供的1.0.0
插入音频数据
{
"id": 1,
"title": "在那之后",
"artist": "缪礼丞 / Mikey-18 / Tiko",
"albumName": "--",
"pic": "http://p2.music.126.net/ZuJ6QoksVgpSzNzUxjk5XA==/109951168002270456.jpg",
"music_url": "http://music.163.com/song/media/outer/url?id=1992695240.mp3",
"description": "如果说当时分开是巧合..."
}
var ox = api.require('oxMusicPlayer');
ox.insertData({data:data},function(ret) {
var code = ret.code;
//0成功 -1失败
});
Android,ios系统
可提供的1.0.0
删除音频数据
var ox = api.require('oxMusicPlayer');
ox.deleteData({index:0},function(ret) {
var code = ret.code;
//0成功 -1失败
});
Android,ios系统
可提供的1.0.0
发送弹幕
var ox = api.require('oxMusicPlayer');
var danmaku ={
uid:'',
avatar:'http://7z2dc9.com1.z0.glb.clouddn.com/apicloud/bc281dfcaf750de7acd9c8e9224e237b.png',
name:'潮汕小丸子',
content:'弹幕'
};
ox.sendDanmaku(danmaku);
Android,ios系统
可提供的1.0.0
显示弹幕
var ox = api.require('oxMusicPlayer');
ox.showDanmaku();
Android,ios系统
可提供的1.0.0
隐藏弹幕
var ox = api.require('oxMusicPlayer');
ox.hideDanmaku();
Android,ios系统
可提供的1.0.0
添加自定义控件
var closeBtn = {
type: 'component',
x: 10,
y: 40,
w: 25,
h: 25,
radius: 5,
backgroundColor: '#01000000',
alpha: 0.1,
border: 0,
borderColor: '#01000000',
code: 26,
hidden: false,
animation: 0,
pics: [{ path: 'widget://image/close.png', x: 0, y: 0, w: 25, h: 25, code: 261 }],
texts: []
}
var ox = api.require('oxMusicPlayer');
ox.addComponent(closeBtn);
Android,ios系统
可提供的1.0.0
更新自定义控件
var closeBtn = {
type: 'component',
x: 10,
y: 40,
w: 25,
h: 25,
radius: 5,
backgroundColor: '#01000000',
alpha: 0.1,
border: 0,
borderColor: '#01000000',
code: 26,
hidden: false,
animation: 0,
pics: [{ path: 'widget://image/close.png', x: 0, y: 0, w: 25, h: 25, code: 261 }],
texts: []
}
var ox = api.require('oxMusicPlayer');
ox.updateComponent(closeBtn);
Android,ios系统
可提供的1.0.0
清理缓存
var ox = api.require('oxMusicPlayer');
ox.clearCache();
Android,ios系统
可提供的1.0.0