musicPlayer

来自于:开发者立即使用

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。

概述

musicPlayer封装了原生音乐播器,自带大小界面音乐,同时支持iOS锁屏界面控制,Android通知栏控制音乐播放等功能。

固件要求

Android:4.1及以上 iOS:8.0及以上

模块接口

startService

开启音乐播放服务

startService({params}, callback(ret))

params

musics:

  • 类型: 数组对象
  • 描述:(必填项)模块的位置及尺寸
  • 内部字段:
[{
    name: 0,   //(必填项)字符串;音乐名称
    filename: 0,   //(必填项)字符串;音乐播放地址,支持http:// fs:// widget://
    singer: 320, //(必填项)字符串;演唱者
    icon: 250  //(必填项)字符串;音乐图片 图片像素300*300为最佳,支持http:// fs:// widget://,
    background : "#800080", //背景颜色代码
    other : 2, //自定义属性值,可以是你自己的主键id
    fenxiangSum : 55,//分享数量
    downmusicSum : 66,//下载数量
    pinglunSum : 233,//评论数量
},
{
    name: 0,   //(必填项)字符串;音乐名称
    filename: 0,   //(必填项)字符串;音乐播放地址,支持http:// fs:// widget://
    singer: 320, //(必填项)字符串;演唱者
    icon: 250,  //(必填项)字符串;音乐图片 图片像素300*300为最佳,支持http:// fs:// widget://
    background : "#800080", //背景颜色代码
    other : 2, //自定义属性值,可以是你自己的主键id
    fenxiangSum : 55,//分享数量
    downmusicSum : 66,//下载数量
    pinglunSum : 233,//评论数量
}]

currentIndex:

  • 类型: 数字型
  • 描述:(必填项)指定从数组序号开始播放
  • 默认值:0

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,      //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg: ''
}

示例代码

var demo = api.require('musicPlayer');
demo.startService({
    musics: [{
        name: "魏心雨",
        filename: "https://sharefs.yun.kugou.com/202010222113/8c36e16ae35617c8855b89f797742a4e/G189/M05/06/15/_Q0DAF5afxmAYsQZADLMf64OiWA402.mp3",
        singer: "念人心",
        icon: "http://7xwc0t.com1.z0.glb.clouddn.com/apicloud/3a3d926564ab4c5b2292744d5ffb0ec6.jpg",
        other: 1,
        fenxiangSum: 43,
        downmusicSum: 12,
        pinglunSum: 45,
        background: "http://7xwc0t.com1.z0.glb.clouddn.com/apicloud/3a3d926564ab4c5b2292744d5ffb0ec6.jpg"
    }, {
        name: "魏心雨(本地)",
        filename: "widget://res/MP3s/lianrenxin.mp3",
        singer: "念人心",
        icon: "http://7xwc0t.com1.z0.glb.clouddn.com/apicloud/7c23cd15fc8fe841ab20f6c87d47ae59.jpg",
        other: 2,
        fenxiangSum: 55,
        downmusicSum: 66,
        pinglunSum: 233,
        background: "#800080"
    }, {
        name: "小苹果3(widget://)",
        filename: "http://7xwc0t.com1.z0.glb.clouddn.com/apicloud/28643b3e661abe4dfb3da33f2d1e2b59.mp3",
        singer: "筷子兄弟3",
        icon: "widget://res/Images/1.jpg",
        other: 3,
        fenxiangSum: 123,
        downmusicSum: 889,
        pinglunSum: 233,
        background: "#5F9EA0"
    }, {
        name: "传奇4(fs://)",
        filename: "widget://res/MP3s/shangxuege.mp3",
        singer: "王菲1",
        icon: "widget://res/Images/nanquan@2x.jpg",
        other: 4,
        fenxiangSum: 123,
        downmusicSum: 889,
        pinglunSum: 233,
        background: "#00FF7F"
    }, {
        name: "传奇4(fs://)",
        filename: "widget://res/MP3s/cemo111.mp3",
        singer: "王菲2",
        icon: "http://rm.djkk.com/upload/xingxiang/2008/2008-6/1311407.jpg",
        other: 5,
        fenxiangSum: 123,
        downmusicSum: 889,
        pinglunSum: 233,
        background: "#00FF7F"
    }]
}, function (ret, err) {
    //alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.1及更高版本

stopService

停止音乐播放服务

stopService(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,      //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg: ''
}

示例代码

var demo = api.require('musicPlayer');
demo.stopService(function(ret, err){
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.1及更高版本

addMusicData

添加音乐数据

addMusicData({params}, callback(ret, err))

params

data:

  • 类型:数组对象
  • 描述:(必填项)待播放音乐信息
    [{
      name: '',   //(必填项)字符串;音乐名称
      filename: '',   //(必填项)字符串;音乐播放地址,支持http:// fs:// widget://
      singer: '', //(必填项)字符串;演唱者
      icon: '',  //(必填项)字符串;音乐图片 图片像素300*300为最佳,支持http:// fs:// widget://
      background : "#800080", //背景颜色代码
      other : 2, //自定义属性值,可以是你自己的主键id
      fenxiangSum : 55,//分享数量
      downmusicSum : 66,//下载数量
      pinglunSum : 233,//评论数量
    }]
    

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    msg: ""
}

示例代码

var demo = api.require('musicPlayer');
demo.addMusicData({
    data : {
        name : "小苹果3666(widget://)",
        filename : "widget://res/MP3s/cemo111.mp3",
        singer : "666666",
        icon : "widget://res/Images/1.jpg",
        other : 5,
        fenxiangSum : 3,
        downmusicSum : 33,
        pinglunSum : 44,
        background : "#DDA0DD"
    }
}, function(ret, err) {
    alert("addMusic|" + JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.1及更高版本

selectMusicItem

指定播放音乐

selectMusicItem({params}, callback(ret,err))

params

index:

  • 类型:数字型
  • 描述:(可选项)需要播放的id(二选一)
  • 默认值:0

other:

  • 类型:字符串型
  • 描述:(可选项)自定义的id(二选一)

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,      //布尔型;true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg : ''
}

示例代码

var demo = api.require('musicPlayer');
demo.selectMusicItem({
    index : 2
},function(ret,err){
    alert(JSON.stringify(ret,err));
});

可用性

iOS、Android系统

可提供的1.0.1及更高版本

getCurrentMusic

获取正在播放的音频信息

getCurrentMusic()

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,      //布尔型;true|false
    msg : '',
    data : {}
}

示例代码

var demo = api.require('musicPlayer');
var ret = demo.getCurrentMusic();
alert(JSON.stringify(ret));

可用性

iOS、Android系统

可提供的1.0.1及更高版本

getDuration

获取视频总进度

getDuration()

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,      //布尔型;true|false
    msg : '',
    duration : ''
}

示例代码

var demo = api.require('musicPlayer');
var ret = demo.getDuration();
alert(JSON.stringify(ret));

可用性

iOS、Android系统

可提供的1.0.1及更高版本

getCurrentPosition

获取已经播放进度

getCurrentPosition()

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,      //布尔型;true|false
    msg : '',
    currentPosition : ''
}

示例代码

var demo = api.require('musicPlayer');
var ret = demo.getCurrentPosition();
alert(JSON.stringify(ret));

可用性

iOS、Android系统

可提供的1.0.1及更高版本

isPlaying

是否正在播放音频

isPlaying()

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,      //布尔型;true|false
    msg : '',
    isPlaying : ''
}

示例代码

var demo = api.require('musicPlayer');
var ret = demo.isPlaying();
alert(JSON.stringify(ret));

可用性

iOS、Android系统

可提供的1.0.1及更高版本

playerMode

切换播放模式

playerMode()

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,      //布尔型;true|false
    msg : '',
    mode : 2
}

示例代码

var demo = api.require('musicPlayer');
var ret = demo.playerMode();
alert(JSON.stringify(ret));

可用性

iOS、Android系统

可提供的1.0.1及更高版本

playerPre

播放上一条

playerPre()

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,      //布尔型;true|false
    msg : '',
}

示例代码

var demo = api.require('musicPlayer');
var ret = demo.playerPre();
alert(JSON.stringify(ret));

可用性

iOS、Android系统

可提供的1.0.1及更高版本

playerPlay

暂停后播放

playerPlay()

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,      //布尔型;true|false
    msg : '',
}

示例代码

var demo = api.require('musicPlayer');
var ret = demo.playerPlay();
alert(JSON.stringify(ret));

可用性

iOS、Android系统

可提供的1.0.1及更高版本

playerPause

暂停播放

playerPause()

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,      //布尔型;true|false
    msg : '',
}

示例代码

var demo = api.require('musicPlayer');
var ret = demo.playerPause();
alert(JSON.stringify(ret));

可用性

iOS、Android系统

可提供的1.0.1及更高版本

playerNext

播放下一条

playerNext()

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,      //布尔型;true|false
    msg : '',
}

示例代码

var demo = api.require('musicPlayer');
var ret = demo.playerNext();
alert(JSON.stringify(ret));

可用性

iOS、Android系统

可提供的1.0.1及更高版本

playerRandom

随机播放

playerRandom()

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,      //布尔型;true|false
    msg : '',
}

示例代码

var demo = api.require('musicPlayer');
var ret = demo.playerRandom();
alert(JSON.stringify(ret));

可用性

iOS、Android系统

可提供的1.0.1及更高版本

playerSeek

设置播放进度

playerSeek({params})

params

seek:

  • 类型:数字型
  • 描述:(必填项)设置音乐播放进度
  • 默认值:0

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,      //布尔型;true|false
    msg : '',
}

示例代码

var demo = api.require('musicPlayer');
var ret = demo.playerSeek({
    seek : 0
});
alert(JSON.stringify(ret));

可用性

iOS、Android系统

可提供的1.0.1及更高版本

openMaxView

打开全屏音乐播放界面(悬浮App最上层)

openMaxView({params}, callback(ret,err))

params

isShowMode:

  • 类型: 布尔型
  • 描述:(可选项)是否显示模式切换按钮
  • 默认值:true

isShowDownload:

  • 类型: 布尔型
  • 描述:(可选项)是否显示下载按钮
  • 默认值:true

isShowFenxiang:

  • 类型: 布尔型
  • 描述:(可选项)是否显示分享按钮
  • 默认值:true

isShowPinglun:

  • 类型: 布尔型
  • 描述:(可选项)是否显示评论按钮
  • 默认值:true

isShowSetting:

  • 类型: 布尔型
  • 描述:(可选项)是否显示设置按钮
  • 默认值:true

isShowDanmu:

  • 类型: 布尔型
  • 描述:(可选项)是否显示弹幕按钮
  • 默认值:true

nameTextSize:

  • 类型: 数字型
  • 描述:(可选项)name文字大小
  • 默认值:20

nameTextColor:

  • 类型: 数字型
  • 描述:(可选项)name文字颜色
  • 默认值:#FFFFFF

singerTextSize:

  • 类型: 数字型
  • 描述:(可选项)singer文字大小
  • 默认值:10

singerTextColor:

  • 类型: 数字型
  • 描述:(可选项)singer文字颜色
  • 默认值:#FFFFFF

backgroundColor:

  • 类型: 数字型
  • 描述:(可选项)背景颜色
  • 默认值:#8B8989

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status : true,      //布尔型;true|false
    evenType : 'onShow',//onShow 界面打开事件
                    //onBack 返回按钮事件
                    //onClose 关闭按钮事件
                    //onSendDanmu 发送弹幕按钮事件
                    //onPlayerPlay 播放按钮事件
                    //onPlayerPause 暂停播放按钮事件
                    //onplayerMode 播放模式按钮事件
                    //onPlayerPre 播放上一个按钮事件
                    //onPlayerNext 播放下一个按钮事件
                    //onPlayerSetting 设置按钮事件
                    //onPinglun 评论按钮事件
                    //onDownload 下载按钮事件
                    //onShare 分享按钮事件
                    //onPlayerSeek 手动调节进度条事件
    seek : 0,
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg : ''
}

示例代码

var demo = api.require('musicPlayer');
demo.openMaxView({
    isShowDownload: true,
    isShowFenxiang: true,
    isShowPinglun: true,
    isShowDanmu: true,
    nameTextSize: 20,
    singerTextSize: 16,
}, function (ret, err) {
    //alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.1及更高版本

hideMaxView

隐藏全屏音乐播放界面

hideMaxView(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,      //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg : ''
}

示例代码

var demo = api.require('musicPlayer');
demo.hideMaxView();

可用性

iOS、Android系统

可提供的1.0.1及更高版本

showMaxView

显示全屏音乐播放界面

showMaxView(callback(ret, err))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,      //布尔型;true
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg : ''
}

示例代码

var demo = api.require('musicPlayer');
demo.showMaxView();

可用性

iOS、Android系统

可提供的1.0.1及更高版本

closeMaxView

关闭全屏音乐播放界面

closeMaxView(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,      //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg : ''
}

示例代码

var demo = api.require('musicPlayer');
demo.closeMaxView();

可用性

iOS、Android系统

可提供的1.0.1及更高版本

sendDanmu

发送一条弹幕信息

sendDanmu({params}, callback(ret, err))

params

text:

  • 类型:字符串
  • 描述:(必填项)弹幕文字内容

color:

  • 类型:字符串
  • 描述:(可选项)弹幕文字显示颜色代码
  • 默认值:#FFFAFA

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true   //布尔型;true||false
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    msg: ""
}

示例代码

var demo = api.require('musicPlayer');
demo.sendDanmu({
    text : '测试2测试2测试2测试2',
    color : '#FF7F24'
},function(ret,err){
});

可用性

iOS、Android系统

可提供的1.0.1及更高版本

sendDanmuList

发送多条弹幕信息。

sendDanmuList({params}, callback(ret, err))

params

isLoop:

  • 类型:布尔型
  • 描述:(可选项)天际的全部数据是否循环播放(循环:true,不循环:false)
  • 默认值:false

data:

  • 类型:数组对象
  • 描述:(必填项)多条弹幕信息记录。
  • 内部字段:
[{
    text: '',   //(必填项)弹幕文字内容
    color: '',   //(可选项)弹幕文字显示颜色代码[默认值:#FFFAFA]
}]

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true   //布尔型;true||false
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    msg: ""
}

示例代码

var obj = api.require('musicPlayer');
obj.sendDanmuList({
    data : [{
            text : '测试1',
            color : '#FF7F24'
        },{
            text : '测试2测试2测试2测试2',
            color : '#FF7F24'
        }],
}, function(ret, err) {
});

可用性

iOS、Android系统

可提供的1.0.1及更高版本

openMinView

打开Min音乐播放界面(悬浮App最上层)

openMinView({params}, callback(ret,err))

params

rect:

  • 类型:JSON 对象
  • 描述:(必填项)悬浮窗口UI播放的位置及尺寸
  • 内部字段:
{
    x: 0,   //(必填项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
    y: 0,   //(必填项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
    w: 320, //(必填项)数字类型;模块的宽度;默认值:手机屏幕的宽度
    h: 60  //(必填项)数字类型;模块的高度;默认值:手机屏幕的高度
}

isShowText:

  • 类型: 布尔型
  • 描述:(可选项)是否name和singer信息
  • 默认值:true

nameTextSize:

  • 类型: 数字型
  • 描述:(可选项)name文字大小
  • 默认值:20

nameTextColor:

  • 类型: 数字型
  • 描述:(可选项)name文字颜色
  • 默认值:#FFFFFF

singerTextSize:

  • 类型: 数字型
  • 描述:(可选项)singer文字大小
  • 默认值:10

singerTextColor:

  • 类型: 数字型
  • 描述:(可选项)singer文字颜色
  • 默认值:#FFFFFF

backgroundColor:

  • 类型: 数字型
  • 描述:(可选项)背景颜色
  • 默认值:#8B8989

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status : true,      //布尔型;true|false
    evenType : 'onShow',//onShow 界面打开事件
                    //onClick 界面单点事件
                    //onClose 关闭按钮事件
                    //onPlayerPlay 播放按钮事件
                    //onPlayerPause 暂停播放按钮事件
                    //onPlayerNext 播放下一个按钮事件
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg : ''
}

示例代码

var demo = api.require('musicPlayer');
demo.openMinView({
    nameTextSize: 10,
    singerTextSize: 8,
}, function (ret, err) {
    //alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.1及更高版本

hideMinView

隐藏Min音乐播放界面

hideMinView(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,      //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg : ''
}

示例代码

var demo = api.require('musicPlayer');
demo.hideMinView();

可用性

iOS、Android系统

可提供的1.0.1及更高版本

showMinView

显示Min音乐播放界面

showMinView(callback(ret, err))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,      //布尔型;true
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg : ''
}

示例代码

var demo = api.require('musicPlayer');
demo.showMinView();

可用性

iOS、Android系统

可提供的1.0.1及更高版本

closeMinView

关闭Min音乐播放界面

closeMinView(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,      //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg : ''
}

示例代码

var demo = api.require('musicPlayer');
demo.closeMinView();

可用性

iOS、Android系统

可提供的1.0.1及更高版本

openFootButton

打开底部按钮(不是App最上层)

openFootButton({params}, callback(ret,err))

params

rect:

  • 类型:JSON 对象
  • 描述:(必填项)位置及尺寸
  • 内部字段:
{
    x: 0,   //(必填项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
    y: 0,   //(必填项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
    w: 320, //(必填项)数字类型;模块的宽度;默认值:手机屏幕的宽度
    h: 60  //(必填项)数字类型;模块的高度;默认值:手机屏幕的高度
}

fixedOn:

  • 类型:字符串
  • 描述:(可选项)模块所属 Frame 的名字,若不传则模块归属于当前 Window

fixed:

  • 类型:布尔
  • 描述:((可选项)模块是否随所属 Window 或 Frame 滚动
  • 默认值:true(不随之滚动)

backgroundColor:

  • 类型: 数字型
  • 描述:(可选项)背景色
  • 默认值:#8B8989

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status : true,      //布尔型;true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg : ''
}

示例代码

var demo = api.require('musicPlayer');
demo.openFootButton({
    rect: {
        w: 50,
        h: 80
    },
}, function (ret, err) {
    //alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.1及更高版本

hideFootButton

隐藏底部按钮

hideFootButton(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,      //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg : ''
}

示例代码

var demo = api.require('musicPlayer');
demo.hideFootButton();

可用性

iOS、Android系统

可提供的1.0.1及更高版本

showFootButton

显示底部按钮

showFootButton(callback(ret, err))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,      //布尔型;true
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg : ''
}

示例代码

var demo = api.require('musicPlayer');
demo.showFootButton();

可用性

iOS、Android系统

可提供的1.0.1及更高版本

closeFootButton

关闭底部按钮

closeFootButton(callback(ret,err))

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status : true,      //布尔型;true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg : ''
}

示例代码

var demo = api.require('musicPlayer');
demo.closeFootButton(function (ret, err) {
    //alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.1及更高版本