acXimalaya

立即使用

授权接口

点播接口

直播接口

播放器接口

概述

本模块封装了喜马拉雅 SDK

authorize、registerAndAuthorize接口isOpen参数设置为true时,iOS如需支持跳转喜马拉雅app请参考 config.xml 配置说明文档里关于 URL Scheme 的配置

配置实例如下:

<preference name="querySchemes" value="ximalayaAuthorize" />

模块接口

init

初始化SDK 注意: 1.如果发现无法接入,请检查您的app的bundle Id是否设置为PACKID 2.该接口的回调并不会每一次都被调用,因为SDK会保存服务端的验证token,只有token超过有效期后,才会向喜马拉雅开放平台的服务端请求新的token,此时,才会有回调信息。

init({params},function(ret, err))

params

appKey:

  • 类型:字符串类型
  • 描述:喜马拉雅开放平台前台网站申请创建应用以获取的app_key,参考喜马拉雅入住流程

appSecret:

  • 类型:字符串类型
  • 描述:在喜马拉雅开放平台前台网站申请创建应用以获取的Papp_secret,参考喜马拉雅入住流程

redirectUrl:

callback(ret,err)

ret:

  • 类型:JSON对象

内部字段:

{
  "status": true
}

err:

  • 类型:JSON对象

内部字段:

{
  "errorNo": 9001, //错误编号
  "errorCode": '', //错误代码
  "errorDesc": ''  //错误信息描述
}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.init({
    appKey: '',
    appSecret: ''
},function(ret, err) {
    if (ret)
        alert(JSON.stringify(ret));
    else
        alert(JSON.stringify(err));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

authorize

授权接口

authorize({params})

params

isOpen:

  • 类型:布尔类型
  • 描述:(可选项)是否跳转喜马拉雅
  • 默认:false

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.authorize({
   isOpen: false
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

refreshToken

刷新授权信息(仅iOS支持)

refreshToken()

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.refreshToken();

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

registerAndAuthorize

注册并授权接口

registerAndAuthorize({params})

params

isOpen:

  • 类型:布尔类型
  • 描述:(可选项)是否跳转喜马拉雅
  • 默认:true

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.registerAndAuthorize({
   isOpen: true
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

loadAuthorizeModel

获取AuthorizeModel

loadAuthorizeModel(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    accessToken: '',   //字符串类型;授权后的access_token
    refreshToken: '',  //字符串类型;用来刷新access_token
    expiresIn: 6,      //数字类型;access_token的生命周期,单位是秒数
    uid: 6,            //数字类型;喜马拉雅用户id
    scope: '',         //字符串类型;授权范围
    deviceId: ''       //字符串类型;设备号

}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.loadAuthorizeModel(function(ret) {
  alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

requestExchangeToken

第三方使用third_uid和third_token换取授权后的access_token

requestExchangeToken({params})

params

tUid:

  • 类型:字符串类型
  • 描述:third_uid

tToken:

  • 类型:字符串类型
  • 描述:third_token

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.requestExchangeToken({
   tUid:'',
   tToken:''
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

settingAuthorizeState

设置state参数(optional/非必需)。state表示客户端的当前状态,可以指定任意值,认证服务器会原封不动地返回这个值。开发者可以用这个参数验证请求有效性,也可以记录用户请求授权页前的位置。这个参数可用于防止跨站请求伪造(CSRF)攻击

settingAuthorizeState({params})

params

state:

  • 类型:字符串类型
  • 描述:state参数

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.settingAuthorizeState({
   state:''
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

requestLoginQR

请求服务器生成并返回二维码信息用于喜马拉雅APP扫描验证登录

requestLoginQR({params})

params

qrCodeSize:

  • 类型:数字类型
  • 描述:用于选择返回二维码的size大小
  • 默认:0
  • 取值范围:
    • 0:238*238
    • 1:180*180
    • 2:418*418

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.requestLoginQR({
   qrCodeSize:0
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

checkQRCodeLoginStatus

查询登录状态及授权信息接口

    1. 登录成功,进入authorizeSuccess回调
    1. 若失败,则进入authorizeFail回调
    1. 若用户未登录,则继续轮询本接口查询用户登录状态,建议控制在2-3秒轮询一次
    1. 二维码图片过期,则需要重新调用接口获取新的有效二维码图片

checkQRCodeLoginStatus()

params

q:

  • 类型: 字符串类型
  • 描述:二维码id,返回二维码时配对返回(仅android支持)

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.checkQRCodeLoginStatus();

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

addAuthorizeListener

授权事件的监听

addAuthorizeListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    eventType: 'authorizeSuccess', //字符串类型;监听的事件类型,取值范围如下:
                                   //authorizeSuccess:成功回调                                
                                   //authorizeFail:失败回调
                                   //authorizeCancle:用户主动取消授权(仅android支持)
                                   //requestQRCodeSuccess:请求生成二维码成功回调
                                   //requestQRCodeFail:请求生成二维码失败回调
                                   //checkRequest:       查询权限状态回调
    responseType:0,                //数字类型,响应消息类型;(仅iOS支持)
                                   //取值如下:
                                   //0:授权成功
                                   //1:刷新accesstoken成功
                                   //2:请求二维码信息成功
                                   //3:二维码登录成功
                                   //4:授权失败
                                   //5:刷新accesstoken失败
                                   //6:二维码登录失败
                                   //7:请求二维码信息失败                               
    authorizeModel:{               //json对象,响应数据;eventType == authorizeSuccess时返回
         accessToken: '',          //字符串类型;授权后的access_token
         refreshToken: '',         //字符串类型;用来刷新access_token
         expiresIn: 6,             //数字类型;access_token的生命周期,单位是秒数
         uid: 6,                   //数字类型;喜马拉雅用户id
         scope: '',                //字符串类型;授权范围
         deviceId: ''              //字符串类型;设备号
    } 
    info:{},                       //json对象;错误描述;eventType == authorizeFail、requestQRCodeFail时返回
    imagePath:''                   //字符串类型;图片路径;eventType == requestQRCodeSuccess时返回
    q:'',                          //字符串类型;二维码id,eventType == requestQRCodeSuccess时返回(仅android支持)

}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.addAuthorizeListener(function(ret) {
  api.alert({ msg:ret.eventType});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getCategoriesList

获取喜马拉雅内容分类,如:"有声小说"、"相声评书"

getCategoriesList(function(ret, err))

callback(ret,err)

ret:

  • 类型:JSON对象
  • 说明:内容分类
{
  "status": true,            //布尔类型,是否成功
  "categories": [
    {
      "id": 2,               //数字类型;分类ID
      "kind": "category",    //字符串类型;固定值"category"
      "order_num": 1,         //(仅iOS支持)
      "category_name": "",   //分类名称
      "cover_url_small": "", //字符串类型;分类封面小图
      "cover_url_middle": "",//字符串类型;分类封面中图
      "cover_url_large": ""  //字符串类型;分类封面大图
    }
  ]
}

err:

  • 类型:JSON对象

内部字段:

{
  "errorNo": 9001, //错误编号
  "errorCode": '', //错误代码(仅iOS支持)
  "errorDesc": ''  //错误信息描述
}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.getCategoriesList(function(ret, err) {
    if (ret)
        alert(JSON.stringify(ret));
    else
        alert(JSON.stringify(err));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getTagsList

获取专辑标签或者声音标签

getTagsList({param}, function(ret, err))

params

categoryId:

  • 类型:数字
  • 描述:分类ID,指定分类,为0时表示热门分类
  • 默认值:0

type:

  • 类型:数字
  • 描述:指定查询的是专辑标签还是声音标签,0-专辑标签,1-声音标签
  • 默认值:0

callback(ret,err)

ret:

  • 类型:JSON对象
{
  "status": true,            //布尔类型,是否成功
  "tags": [{
     "tag_name": "脱口秀", //字符串类型;标签名称
     "kind": "tag"        //字符串类型;固定值"tag"
    }
  ]
}

err:

  • 类型:JSON对象

内部字段:

{
  "errorNo": 9001, //错误编号
  "errorCode": '', //错误代码(仅iOS支持)
  "errorDesc": ''  //错误信息描述
}

示例代码

var acXimalaya = api.require('acXimalaya');
ximalaya.getTags({
 categoryid: 1,
 type: 0
}, function(ret, err) {
    if (ret)
        alert(JSON.stringify(ret));
    else
        alert(JSON.stringify(err));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getAlbumsList

根据分类和标签获取某个分类某个标签下的热门专辑列表/最新专辑列表/最多播放专辑列表

getAlbumsList({params}, function(ret, err))

params

categoryId:

  • 类型:数字
  • 描述:分类ID,指定分类,为0时表示热门分类
  • 默认值:0

tagName:

  • 类型:字符串
  • 描述:分类下对应专辑标签
  • 默认值:无

calcDimension:

  • 类型:数字
  • 描述:计算维度,现支持最火􏶓􏷩􏷪􏵽􏻑(1),最新(2),经典或播放最多 􏰨􏻦􏵒􏵋􏷽􏵽􏸘(3)
  • 默认值:1

page:

  • 类型:数字
  • 描述:返回第几页,必须大于等于1,不填默认为1
  • 默认值:1

count:

  • 类型:数字
  • 描述:每页多少条,最多不超过200
  • 默认值:20

callback(ret,err)

ret:

  • 类型:JSON对象
{
   "status": true,      //布尔类型,是否成功
   "category_id":3,
   "total_page":2383,
    "total_count":2383,
    "current_page":1,
    "tag_name":"言情",
    "albums":[
        {
            "id":290926,
            "kind":"album",
            "category_id":3,
            "album_title":"最好的我们【博集天卷】",
            "album_tags":"八月长安,校园,畅销书,言情,都市",
            "album_intro":"你有这个机会...",
            "cover_url_small":"http://fdfs.xmcdn.com/group8/M00/43/FF/wKgDYVcN6_CTdXmDAATTRsqCusY790_mobile_small.jpg",
            "cover_url_middle":"http://fdfs.xmcdn.com/group8/M00/43/FF/wKgDYVcN6_CTdXmDAATTRsqCusY790_mobile_meduim.jpg",
            "cover_url_large":"http://fdfs.xmcdn.com/group8/M00/43/FF/wKgDYVcN6_CTdXmDAATTRsqCusY790_mobile_large.jpg",
            "announcer":{
                "id":15767220,
                "kind":"user",
                "nickname":"雅楠",
                "avatar_url":"http://fdfs.xmcdn.com/group22/M09/8A/89/wKgJM1hBXBXSB2swAAVX1KDBqcA831_web_large.jpg",
                "is_verified":true
            },
            "play_count":9088018,
            "share_count":3848,
            "favorite_count":0,
            "subscribe_count":91081,
            "include_track_count":64,
            "last_uptrack":{
                "track_id":4785642,
                "track_title":"最好的我们 第六十四集(结局)",
                "duration":1187,
                "created_at":1419596370000,
                "updated_at":1494927876000
            },
            "is_finished":2,
            "can_download":true,
            "updated_at":1486408251000,
            "created_at":1414033394000
        },
        ...
    ]
}

err:

  • 类型:JSON对象

内部字段:

{
  "errorNo": 9001, //错误编号
  "errorCode": '', //错误代码(仅iOS支持)
  "errorDesc": ''  //错误信息描述
}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.getAlbumsList({
    categoryid: 2,
    tagname: "爵士",
    page: 1,
    pagesize: 3
}, function(ret, err) {
    if (ret)
        alert(JSON.stringify(ret));
    else
        alert(JSON.stringify(err));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getAlbumsBrowse

根据专辑ID获取专辑下的声音列表,即专辑浏览

getAlbumsBrowse({params}, function(ret, err))

params

albumId:

  • 类型:字符串
  • 描述:(必传项)专辑ID

sort:

  • 类型:字符串
  • 描述:'asc'表示喜马拉雅正序;'desc'表示喜马拉雅倒序;'time_asc'表示时间升序;'time_desc'表示时间降序
  • 默认值:'asc'

page:

  • 类型:数字
  • 描述:返回第几页,必须大于等于1
  • 默认值:1

count:

  • 类型:数字
  • 描述:每页有多少条,最多不超过200
  • 默认值:20

callback(ret,err)

ret:

  • 类型:JSON对象
{
  "status": true,      //布尔类型,是否成功
  "album_id": 15787394,
  "total_page": 9,
  "total_count": 166,
  "current_page": 1,
  "album_title": "从零到懂,30天听懂新思想",
  "album_intro": "节目内容,来自《习近平新时代中国特色社会主义思想三十讲》,由中共中央宣传部组织编写,学习出版社出版。 播讲人: 侯 焜——云南广播电视台 播音主持 播音指导 罗 宁——辽宁广播电视台 新闻主播 播音指导    孙 畅——上海新闻广播 新闻主播 赵海清——云南广播电视台 播音主持",
  "category_id": 1,
  "cover_url_small": "",
  "cover_url_middle": "",
  "cover_url_large": "",
  "can_download": true,
  "tracks": [
    {
      "id": 17567064,
      "kind": "track",
      "track_title": "夏日酷热,听清凉的Bossa Nova(上)~优品音乐104",
      "track_tags": "爵士",
      "track_intro": "玫瑰色的七四七 - 彭靖惠 蓝旗袍 - 范晓萱 南屏晚钟 - 蔡淳佳 梦里人 - 陈百强 三个人的晚餐 - 王若琳 明天你是否依然爱我 - 潘越云",
      "cover_url_small": "http://fdfs.xmcdn.com/group4/M05/A5/7F/wKgDtFd0akzzjYI0AAFCS2M5dWU382_web_meduim.jpg",
      "cover_url_middle": "http://fdfs.xmcdn.com/group4/M05/A5/7F/wKgDtFd0akzzjYI0AAFCS2M5dWU382_web_large.jpg",
      "cover_url_large": "http://fdfs.xmcdn.com/group4/M05/A5/7F/wKgDtFd0akzzjYI0AAFCS2M5dWU382_mobile_large.jpg",
      "announcer": {
        "id": 7327678,
        "vcategory_id": 0,
        "nickname": "叶子的音乐纪念册",
        "avatar_url": "http://fdfs.xmcdn.com/group3/M0A/32/07/wKgDsVMTC2yjFJhMAAIzUhpL4Aw998_web_large.jpg",
        "follower_count": 0,
        "following_count": 0,
        "released_album_count": 0,
        "released_track_count": 0,
        "is_verified": true
      },
      "duration": 1647,
      "play_count": 10050,
      "favorite_count": 19,
      "comment_count": 3,
      "download_count": 0,
      "play_url_32": "http://fdfs.xmcdn.com/group13/M03/9E/C7/wKgDXldvo0nDoozzAGSNGpgF97Q640.mp3",
      "play_size_32": 6589722,
      "play_url_64": "http://fdfs.xmcdn.com/group13/M03/9E/E1/wKgDXVdvo1Xi1xlmAMkZ6omVxGg077.mp3",
      "play_size_64": 13179370,
      "play_url_24_m4a": "http://audio.xmcdn.com/group13/M03/9E/E1/wKgDXVdvo0ODKmPcAE3QNFI7tNU018.m4a",
      "play_size_24_m4a": "5099572",
      "play_url_64_m4a": "http://audio.xmcdn.com/group13/M06/9E/C7/wKgDXldvo1nQCRb2AMuBat1FXF8306.m4a",
      "play_size_64_m4a": "13336938",
      "can_download": true,
      "download_url": "http://download.xmcdn.com/group9/M05/9E/53/wKgDYldvozjTyLTiAGhWw8uY6DU027.aac",
      "download_size": 6837955,
      "order_num": 3,
      "subordinated_album": {
        "id": 2650009,
        "album_title": "音乐优品",
        "cover_url_small": "http://fdfs.xmcdn.com/group7/M07/8A/EB/wKgDWldWrWfyrAyDAAJLp6xUS-k951_mobile_small.jpg",
        "cover_url_middle": "http://fdfs.xmcdn.com/group7/M07/8A/EB/wKgDWldWrWfyrAyDAAJLp6xUS-k951_mobile_meduim.jpg",
        "cover_url_large": "http://fdfs.xmcdn.com/group7/M07/8A/EB/wKgDWldWrWfyrAyDAAJLp6xUS-k951_mobile_large.jpg"
      },
      "source": 1,
      "updated_at": 1467849575000,
      "created_at": 1466934452000
    }
  ]
}

err:

  • 类型:JSON对象

内部字段:

{
  "code": 9002,
  "msg": "Uninitialized"
}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.getAlbumsBrowse({
    albumId: 2,
    sort: "",
    page: 1,
    count: 20
}, function(ret, err) {
    if (ret)
        alert(JSON.stringify(ret));
    else
        alert(JSON.stringify(err));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getAlbumsBatch

批量获取专辑列表

getAlbumsBatch({params}, function(ret, err))

params

ids:

  • 类型:字符串类型
  • 描述:(必填项)专辑ID列表,传参时用英文逗号分隔

callback(ret,err)

ret:

  • 类型:JSON对象
{
  "status": true,      //布尔类型,是否成功
  "albums":[
    {
        "id":341210,
        "kind":"album",
        "category_id":6,
        "album_title":"小马宝莉【巴巴妈妈讲故事】",
        "album_tags":"儿童读物,儿童故事,绘本故事,童话故事,睡前故事",
        "album_intro":"",
        "cover_url_small":"http://fdfs.xmcdn.com/group6/M07/1B/67/wKgDhFTYl3LQtzIDAALWBCBmlas599_mobile_small.jpg",
        "cover_url_middle":"http://fdfs.xmcdn.com/group6/M07/1B/67/wKgDhFTYl3LQtzIDAALWBCBmlas599_mobile_meduim.jpg",
        "cover_url_large":"http://fdfs.xmcdn.com/group6/M07/1B/67/wKgDhFTYl3LQtzIDAALWBCBmlas599_mobile_large.jpg",
        "tracks_natural_ordered":false,
        "announcer":{
            "id":18489196,
            "kind":"user",
            "nickname":"巴巴妈妈讲故事",
            "avatar_url":"http://fdfs.xmcdn.com/group5/M07/FD/DF/wKgDtVSaJ6XBssq3ADRrZnbdcIk926_web_large.JPG",
            "is_verified":true
        },
        "play_count":44457292,
        "favorite_count":0,
        "share_count":19586,
        "subscribe_count":46829,
        "include_track_count":85,
        "last_uptrack":{
            "track_id":43830799,
            "track_title":"巴巴妈妈和女儿的新专辑:《猫头鹰讲科学》,希望你喜欢!",
            "duration":32,
            "created_at":1500009535000,
            "updated_at":1500014744000
        },
        "can_download":true,
        "is_finished":0,
        "updated_at":1502444412000,
        "created_at":1423480921000,
        "is_paid":false,
        "estimated_track_count":0,
        "album_rich_intro":"",
        "speaker_intro":"",
        "free_track_count":0,
        "free_track_ids":"",
        "sale_intro":"",
        "expected_revenue":"",
        "buy_notes":"",
        "speaker_title":"",
        "speaker_content":"",
        "has_sample":false,
        "composed_price_type":0,
        "detail_banner_url":""
    },
    ...
]
}

err:

  • 类型:JSON对象

内部字段:

{
  "code": 9002,
  "msg": "Uninitialized"
}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.getAlbumsBatch({
  ids:'85584,85585,85581,2663492'
}, function(ret, err) {
    if (ret)
        alert(JSON.stringify(ret));
    else
        alert(JSON.stringify(err));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getTracksHot

根据分类和标签获取某个分类下某个标签的热门声音列表

getTracksHot({params}, function(ret, err))

params

categoryId:

  • 类型:字符串
  • 描述:分类ID,指定分类,为'0'时表示热门分类
  • 默认值:'0'

tagName:

  • 类型:字符串
  • 描述:分类下对应声音标签

page:

  • 类型:数字
  • 描述:返回第几页,必须大于等于1
  • 默认值:1

count:

  • 类型:数字
  • 描述:每页有多少条,最多不超过200
  • 默认值:20

callback(ret,err)

ret:

  • 类型:JSON对象
{
  "status": true,      //布尔类型,是否成功
  "category_id":3,
  "total_page":2383,
  "total_count":2383,
  "current_page":1,
  "tag_name":"言情",
  "tracks": [
        {
          "id": 17567064,
          "kind": "track",
          "track_title": "夏日酷热,听清凉的Bossa Nova(上)~优品音乐104",
          "track_tags": "爵士",
          "track_intro": "玫瑰色的七四七 - 彭靖惠 蓝旗袍 - 范晓萱 南屏晚钟 - 蔡淳佳 梦里人 - 陈百强 三个人的晚餐 - 王若琳 明天你是否依然爱我 - 潘越云",
          "cover_url_small": "http://fdfs.xmcdn.com/group4/M05/A5/7F/wKgDtFd0akzzjYI0AAFCS2M5dWU382_web_meduim.jpg",
          "cover_url_middle": "http://fdfs.xmcdn.com/group4/M05/A5/7F/wKgDtFd0akzzjYI0AAFCS2M5dWU382_web_large.jpg",
          "cover_url_large": "http://fdfs.xmcdn.com/group4/M05/A5/7F/wKgDtFd0akzzjYI0AAFCS2M5dWU382_mobile_large.jpg",
          "announcer": {
            "id": 7327678,
            "vcategory_id": 0,
            "nickname": "叶子的音乐纪念册",
            "avatar_url": "http://fdfs.xmcdn.com/group3/M0A/32/07/wKgDsVMTC2yjFJhMAAIzUhpL4Aw998_web_large.jpg",
            "follower_count": 0,
            "following_count": 0,
            "released_album_count": 0,
            "released_track_count": 0,
            "is_verified": true
          },
          "duration": 1647,
          "play_count": 10050,
          "favorite_count": 19,
          "comment_count": 3,
          "download_count": 0,
          "play_url_32": "http://fdfs.xmcdn.com/group13/M03/9E/C7/wKgDXldvo0nDoozzAGSNGpgF97Q640.mp3",
          "play_size_32": 6589722,
          "play_url_64": "http://fdfs.xmcdn.com/group13/M03/9E/E1/wKgDXVdvo1Xi1xlmAMkZ6omVxGg077.mp3",
          "play_size_64": 13179370,
          "play_url_24_m4a": "http://audio.xmcdn.com/group13/M03/9E/E1/wKgDXVdvo0ODKmPcAE3QNFI7tNU018.m4a",
          "play_size_24_m4a": "5099572",
          "play_url_64_m4a": "http://audio.xmcdn.com/group13/M06/9E/C7/wKgDXldvo1nQCRb2AMuBat1FXF8306.m4a",
          "play_size_64_m4a": "13336938",
          "can_download": true,
          "download_url": "http://download.xmcdn.com/group9/M05/9E/53/wKgDYldvozjTyLTiAGhWw8uY6DU027.aac",
          "download_size": 6837955,
          "order_num": 3,
          "subordinated_album": {
            "id": 2650009,
            "album_title": "音乐优品",
            "cover_url_small": "http://fdfs.xmcdn.com/group7/M07/8A/EB/wKgDWldWrWfyrAyDAAJLp6xUS-k951_mobile_small.jpg",
            "cover_url_middle": "http://fdfs.xmcdn.com/group7/M07/8A/EB/wKgDWldWrWfyrAyDAAJLp6xUS-k951_mobile_meduim.jpg",
            "cover_url_large": "http://fdfs.xmcdn.com/group7/M07/8A/EB/wKgDWldWrWfyrAyDAAJLp6xUS-k951_mobile_large.jpg"
          },
          "source": 1,
          "updated_at": 1467849575000,
          "created_at": 1466934452000

    ]
}

err:

  • 类型:JSON对象

内部字段:

{
  "code": 9002,
  "message": "Uninitialized"
}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.getTracksHot({
    categoryId: 2,
    tagName: "爵士",
    page: 1,
    count: 3
}, function(ret, err) {
    if (ret)
        alert(JSON.stringify(ret));
    else
        alert(JSON.stringify(err));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getMetadataList

获取某个分类下的元数据列表

getMetadataList({params}, function(ret, err))

params

categoryId:

  • 类型:数字
  • 描述:分类ID,指定分类

callback(ret,err)

ret:

  • 类型:JSON对象
{
    "status": true,      //布尔类型,是否成功
    metaDatas:[ //Json数组类型;元数据列表
    {
        displayName: '', //字符串类型;元数据显示名称
        kind: '', //字符串类型;kind
        attributes: [ //Json数组类型;
            {
                attr_key: , //数字类型;用于请求/metadata/album接口的属性键
                attr_value: '', //字符串类型;用于请求/metadata/album接口的属性值
                display_name: '', //字符串类型;属性的显示名称
                child_metadata: [ //Json数组类型;
                    {
                        displayName: '', //字符串类型;元数据显示名称
                        kind: '',
                    },
                ]
            }
        ]
    }
  ]
}

err:

  • 类型:JSON对象

内部字段:

{
  "code": 9002,
  "message": "Uninitialized"
}

示例代码

var acXimalaya = api.require('acXimalaya');
    acXimalaya.getMetadataList({
    categoryId:1
}, function(ret, err) {
    if (ret)
        alert(JSON.stringify(ret));
    else
        alert(JSON.stringify(err));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getMetadataAlbums

获取某个分类的元数据属性键值组合下包含的热门专辑列表/最新专辑列表/最多播放专辑列表

getMetadataAlbums({params}, function(ret, err))

params

categoryId:

  • 类型:数字
  • 描述:(可选项)分类ID,指定分类
  • 默认:0,0表示热门分类

page:

  • 类型:数字
  • 描述:(可选项)返回第几页,必须大于等于1
  • 默认:1

count:

  • 类型:数字
  • 描述:每页多少条
  • 默认:(可选项)20,最多不超过200

calcDimension:

  • 类型:数字
  • 描述:(必填项)计算维度,1代表最火;2代表最新;3代表经典或播放最多
  • 默认:1

metadataAttribute:

  • 类型:字符串
  • 描述:(可选项)元数据属性列表,格式:attr_key1:attr_value1;attr_key2:attr_value2;attr_key3:attr_value3 注意:此字段可为空,为空表示获取此分类下全部的最火、最新或者播放最多的专辑列表

callback(ret,err)

ret:

  • 类型:JSON对象
{
  "status": true,      //布尔类型,是否成功
  "category_id":3,
  "total_page":20,
  "total_count":393,
  "current_page":1,
  "albums":[
        {
            "id":2885924,
            "kind":"album",
            "category_id":3,
            "album_title":"我不喜欢这世界,我只喜欢你",
            "album_tags":"我不喜欢这个世界,我只喜欢你,掷地有声,言情",
            "album_intro":"《我不喜欢这世界,我只喜欢你》",
            "cover_url_small":"http://fdfs.xmcdn.com/group12/M03/86/28/wKgDW1YiST-g8RNYAAY0IHSFPw4655_mobile_small.png",
            "cover_url_middle":"http://fdfs.xmcdn.com/group12/M03/86/28/wKgDW1YiST-g8RNYAAY0IHSFPw4655_mobile_meduim.png",
            "cover_url_large":"http://fdfs.xmcdn.com/group12/M03/86/28/wKgDW1YiST-g8RNYAAY0IHSFPw4655_mobile_large.png",
            "announcer":{
                "id":15568194,
                "kind":"user",
                "nickname":"掷地有声",
                "avatar_url":"http://fdfs.xmcdn.com/group9/M09/61/91/wKgDZlXV59Dz6b7HAADsx4-s-p0207_web_large.jpg",
                "is_verified":true
            },
            "play_count":5868493,
            "favorite_count":0,
            "subscribe_count":0,
            "include_track_count":37,
            "last_uptrack":{
                "track_id":11116034,
                "track_title":"我不喜欢这世界,我只喜欢你 25成年篇(完结了!)",
                "duration":1242,
                "created_at":1451223071000,
                "updated_at":1456370959000
            },
            "is_finished":2,
            "can_download":true,
            "updated_at":1459489932000,
            "created_at":1440074667000
        },
        ...
    ]
}

err:

  • 类型:JSON对象

内部字段:

{
  "code": 9002,
  "msg": "Uninitialized"
}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.getMetadataAlbums({
    categoryId:1,
    calc_dimension:1,
    count:20,
    page:1,
    metadata_attributes:'97:6;131:2'
}, function(ret, err) {
    if (ret)
        alert(JSON.stringify(ret));
    else
        alert(JSON.stringify(err));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getLiveProvince

获取直播省份列表

getLiveProvince(function(ret, err))

callback(ret,err)

ret:

  • 类型:JSON对象
{
    "status": true,      //布尔类型,是否成功
     provinces:[    //Json数组类型;
         {
           id:,                //数字类型;省份id
           kind:'',
           province_code:,     //数字类型;省份代码
           province_name:'',   //字符串类型;省市名称
           created_at:,        //数字类型;创建时间,时间戳
           updated_at:''       //数字类型;更新时间,时间戳
         }
     ]

}

err:

  • 类型:JSON对象

内部字段:

{
  "code": 9002,
  "msg": "Uninitialized"
}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.getLiveProvince({
  province_code:320000
},function(ret, err) {
    if (ret)
        alert(JSON.stringify(ret));
    else
        alert(JSON.stringify(err));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getLiveRadio

获取直播电台列表

getLiveRadio({params}, function(ret, err))

params

radio_type:

  • 类型:数字
  • 描述:电台类型:1-国家台,2-省市台,3-网络台

province_code:

  • 类型:数字
  • 描述:省份代码,radio_type为2时不能为空

page:

  • 类型:数字
  • 描述:返回第几页,必须大于等于1
  • 默认值:1

count:

  • 类型:数字
  • 描述:每页有多少条,最多不超过200
  • 默认值:20

callback(ret,err)

ret:

  • 类型:JSON对象
{
    "status": true,      //布尔类型,是否成功
    current_page:,           //数字类型;选择页
    total_count:,          //数字类型;总数
    total_page:,            //数字类型;总页数 
    radios[                //数组类型;直播电台列表
        {

            radio_name:'',             //字符串类型;电台名称
            radio_desc:'',               //字符串类型;电台简介
            program_name:'',          //字符串类型;正在播出节目名称
            schedule_id:,                 //数字类型;正在拨出节目时间表id
            support_bitrates:[],        //数组类型;支持码率列表
            rate24_aac_url:'',         //字符串类型;24码率aac格式播放地址
            rate24_ts_url:'',            //字符串类型;24码率ts格式播放地址
            rate64_aac_url:'',          //字符串类型;64码率aac格式播放地址
            rate64_ts_url:'',            //字符串类型;64码率ts格式播放地址
            radio_play_count:,       //数字类型;电台累计收听次数
            cover_url_small:'',       //字符串类型;电台封面小图
            cover_url_large:'',       //字符串类型;电台封面大图
            updated_at:,              //数字类型;声音更新时间
            created_at:,
            id:0,
             kind:'',
        },
    ]

}

err:

  • 类型:JSON对象

内部字段:

{
  "code": 9002,
  "msg": "Uninitialized"
}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.getLiveRadio({
    radio_type: 2,
    province_code: 110000,
    page: 2,
    count: 20
}, function(ret, err) {
    if (ret)
        alert(JSON.stringify(ret));
    else
        alert(JSON.stringify(err));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getLiveRadioOfCity

获取某个城市下的电台列表

getLiveRadioOfCity({params}, function(ret, err))

params

city_code:

  • 类型:数字
  • 描述:城市code(国家规划的)

page:

  • 类型:数字
  • 描述:返回第几页,必须大于等于1
  • 默认值:1

count:

  • 类型:数字
  • 描述:每页有多少条,最多不超过200
  • 默认值:20

callback(ret,err)

ret:

  • 类型:JSON对象
{
    "status": true,      //布尔类型,是否成功
    current_page:,           //数字类型;选择页
    total_count:,          //数字类型;总数
    total_page:,            //数字类型;总页数 
    radios[                //数组类型;直播电台列表
        {
            radio_name:'',             //字符串类型;电台名称
            radio_desc:'',               //字符串类型;电台简介
            program_name:'',          //字符串类型;正在播出节目名称
            schedule_id:,                 //数字类型;正在拨出节目时间表id
            start_time:,                  //字符串类型;节目开始时间
            end_time:,                 //字符串类型;节目结束时间
            support_bitrates:[],        //数组类型;支持码率列表
            rate24_aac_url:'',         //字符串类型;24码率aac格式播放地址
            rate24_ts_url:'',            //字符串类型;24码率ts格式播放地址
            rate64_aac_url:'',          //字符串类型;64码率aac格式播放地址
            rate64_ts_url:'',            //字符串类型;64码率ts格式播放地址
            radio_play_count:,       //数字类型;电台累计收听次数
            cover_url_small:'',       //字符串类型;电台封面小图
            cover_url_large:'',       //字符串类型;电台封面大图
            updated_at:,              //数字类型;声音更新时间
            created_at:,
            id:0,
             kind:'',
        },
    ]
    }

err:

  • 类型:JSON对象

内部字段:

{
  "code": 9002,
  "msg": "Uninitialized"
}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.getLiveRadioOfCity({
    radio_type: 2,
    province_code: 110000,
    page: 2,
    count: 20
}, function(ret, err) {
    if (ret)
        alert(JSON.stringify(ret));
    else
        alert(JSON.stringify(err));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getLiveSchedule

获取某个直播电台某一天的节目排期表

getLiveSchedule({params}, function(ret, err))

params

radio_id:

  • 类型:数字
  • 描述:直播电台ID

weekday:

  • 类型:数字
  • 描述:表示星期几,不填则取今天的星期;0代表星期天,1代表星期一,2代表星期二,3代表星期三,4代表星期四,5代表星期五,6代表星期六

callback(ret,err)

ret:

  • 类型:JSON对象
{
"status": true,      //布尔类型,是否成功
schedules[    //数组类型;节目列表
    {
        radio_id:,           //数字类型;所属电台id
        radio_name:,           //字符串类型;所属电台名称
        start_time:'',          //字符串类型;节目开始时间
        end_time:'',          //字符串类型;节目结束时间
        updated_at:,        //数字类型;节目更新时间
        kind:'',
        listen_back_url:'',       //字符串类型;节目回听地址
        related_program:{},     //Json对象类型;关联的直播节目
        id:0
    },
  ]
}

err:

  • 类型:JSON对象

内部字段:

{
  "code": 9002,
  "msg": "Uninitialized"
}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.getLiveSchedule({
    radio_id:94,
    weekday:0,
}, function(ret, err) {
    if (ret)
        alert(JSON.stringify(ret));
    else
        alert(JSON.stringify(err));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getLiveProgram

获取当前直播的节目

getLiveProgram({params}, function(ret, err))

params

radioId:

  • 类型:数字
  • 描述:直播电台ID

callback(ret,err)

ret:

  • 类型:JSON对象
{
   "status": true,      //布尔类型,是否成功
    "radios":[{
     id:,                 //数字类型;直播节目id
     program_name:'',     //字符串类型;节目名称
     back_pic_url:'',     //字符串类型;节目背景图
     support_bitrates:[], //数组列表;节目支持码率列表
     rate24_aac_url:'',   //字符串类型;24码率aac格式电台在线 播放地址
     rate24_ts_url:'',    //字符串类型;24码率ts格式电台在线播放地址
     rate64_aac_url:'',   //字符串类型;64码率aac格式电台在线播放地址
     rate64_ts_url:'',    //字符串类型;64码率ts格式电台在线播放地址
     live_announcers:[],  //数组类型;主播列表
     updated_at:,         //数字类型;节目更新时间
     kind:'' 
    }]
}

err:

  • 类型:JSON对象

内部字段:

{
  "code": 9002,
  "msg": "Uninitialized"
}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.getLiveProgram({
    radio_id:94,
}, function(ret, err) {
    if (ret)
        alert(JSON.stringify(ret));
    else
        alert(JSON.stringify(err));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getLiveCity

获取某省份城市列表

getLiveCity({params}, function(ret, err))

params

province_code:

  • 类型:字符串类型
  • 描述:省份code(国家行政规划的省代码)

callback(ret,err)

ret:

  • 类型:JSON对象
{
  status: true,     //布尔类型,是否成功
  citys:[{
    id:,              //数字类型;id
    city_code:'',     //字符串类型;城市code
    city_name:'',     //字符串类型;城市名称
    kind:''           //字符串类型;kind 
  }]

}

err:

  • 类型:JSON对象

内部字段:

{
  "code": 9002,
  "msg": "Uninitialized"
}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.getLiveCity({
    province_code:94,
}, function(ret, err) {
    if (ret)
        alert(JSON.stringify(ret));
    else
        alert(JSON.stringify(err));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getRadioByID

根据电台ID,批量获取电台列表

getRadioByID({params}, function(ret, err))

params

ids:

  • 类型:字符串类型
  • 描述:电台ID列表,传参时用英文逗号隔开

callback(ret,err)

ret:

  • 类型:JSON对象
{
   status: true,     //布尔类型,是否成功
    radios:[                //数组类型;直播电台列表
        {
            radio_name:'',             //字符串类型;电台名称
            radio_desc:'',               //字符串类型;电台简介
            program_name:'',          //字符串类型;正在播出节目名称
            schedule_id:,                 //数字类型;正在拨出节目时间表id
            start_time:,                  //字符串类型;节目开始时间
            end_time:,                 //字符串类型;节目结束时间
            support_bitrates:[],        //数组类型;支持码率列表
            rate24_aac_url:'',         //字符串类型;24码率aac格式播放地址
            rate24_ts_url:'',            //字符串类型;24码率ts格式播放地址
            rate64_aac_url:'',          //字符串类型;64码率aac格式播放地址
            rate64_ts_url:'',            //字符串类型;64码率ts格式播放地址
            radio_play_count:,       //数字类型;电台累计收听次数
            cover_url_small:'',       //字符串类型;电台封面小图
            cover_url_large:'',       //字符串类型;电台封面大图
            updated_at:,              //数字类型;声音更新时间
        },
     ]
}

err:

  • 类型:JSON对象

内部字段:

{
  "code": 9002,
  "msg": "Uninitialized"
}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.getRadioByID({
   ids:94,95,
}, function(ret, err) {
    if (ret)
        alert(JSON.stringify(ret));
    else
        alert(JSON.stringify(err));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getRadioCategory

获取电台分类

getRadioCategory({params}, function(ret, err))

callback(ret,err)

ret:

  • 类型:JSON对象
{
status: true,     //布尔类型,是否成功
categorys:[                     //数组类型;电台类型列表
    {
        id:,                      //数字类型;类型id
        kind,  
        radio_category_name:'',   //字符串类型;直播分类名称
        order_num:'',             //数字类型;排序值,越小越靠前
    }
 ]
}

err:

  • 类型:JSON对象

内部字段:

{
  "code": 9002,
  "msg": "Uninitialized"
}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.getRadioCategory(function(ret, err) {
    if (ret)
        alert(JSON.stringify(ret));
    else
        alert(JSON.stringify(err));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getLiveGetRadiosByCategory

根据电台分类获取直播电台数据

getLiveGetRadiosByCategory({params}, function(ret, err))

params

radio_category_id:

  • 类型:数字
  • 描述:直播分类ID

page:

  • 类型:数字
  • 描述:返回第几页,必须大于等于1
  • 默认值:1

count:

  • 类型:数字
  • 描述:每页有多少条,最多不超过200
  • 默认值:20

callback(ret,err)

ret:

  • 类型:JSON对象
{
status: true,     //布尔类型,是否成功
current_page:,           //数字类型;选择页
total_count:,          //数字类型;总数
total_page:,            //数字类型;总页数 
radios[                //数组类型;直播电台列表
    {
        radio_name:'',             //字符串类型;电台名称
        radio_desc:'',               //字符串类型;电台简介
        program_name:'',          //字符串类型;正在播出节目名称
        schedule_id:,                 //数字类型;正在拨出节目时间表id
        start_time:,                  //字符串类型;节目开始时间
        end_time:,                 //字符串类型;节目结束时间
        support_bitrates:[],        //数组类型;支持码率列表
        rate24_aac_url:'',         //字符串类型;24码率aac格式播放地址
        rate24_ts_url:'',            //字符串类型;24码率ts格式播放地址
        rate64_aac_url:'',          //字符串类型;64码率aac格式播放地址
        rate64_ts_url:'',            //字符串类型;64码率ts格式播放地址
        radio_play_count:,       //数字类型;电台累计收听次数
        cover_url_small:'',       //字符串类型;电台封面小图
        cover_url_large:'',       //字符串类型;电台封面大图
        updated_at:,              //数字类型;声音更新时间
    },
]
}

err:

  • 类型:JSON对象

内部字段:

{
  "code": 9002,
  "msg": "Uninitialized"
}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.getLiveGetRadiosByCategory({
   radio_category_id:6,
}, function(ret, err) {
    if (ret)
        alert(JSON.stringify(ret));
    else
        alert(JSON.stringify(err));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

playWithTrack

播放声音列表

playWithTrack({params})

params

track:

  • 类型:json对象
  • 描述:查询返回的track json对象(仅iOS支持)

playlist:

  • 类型:数组类型
  • 描述:声音列表

index:

  • 类型:数字类型
  • 描述:(可选项)列表中从第几个开始播放(仅android支持)
  • 默认:0

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.playWithTrack({
   track: {},
   playlist:[]
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

playWithDecryptedUrl

通过url进行播放

playWithDecryptedUrl({params})

params

url:

  • 类型:字符串类型
  • 描述:url地址

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.playWithDecryptedUrl({
   url: ''
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

continuePlayFromAlbum

接着播上一次正在播放的专辑(仅iOS支持)

continuePlayFromAlbum({params})

params

albumID:

  • 类型:数字类型
  • 描述:专辑ID

trackID:

  • 类型:数字类型
  • 描述:trackID

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.continuePlayFromAlbum({
   albumID: '',
   trackID: ''
});

可用性

iOS系统

可提供的 1.0.0 及更高版本

pauseTrackPlay

暂停当前播放

pauseTrackPlay()

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.pauseTrackPlay();

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

resumeTrackPlay

恢复当前播放

resumeTrackPlay()

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.resumeTrackPlay();

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

stopTrackPlay

停止当前播放

stopTrackPlay()

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.stopTrackPlay();

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

replacePlayList

更新当前播放列表,(android仅更新,不播放)

replacePlayList({params})

params

playlist:

  • 类型:数组类型
  • 描述:声音列表

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.replacePlayList({
   playlist:[]
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

hasNextTrack

是否有下一首

hasNextTrack(function(ret))

callback(ret,err)

ret:

  • 类型:JSON对象
{
  state:true,              //布尔类型;是否有下一首
}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.hasNextTrack(function(ret) {
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

hasPrevTrack

是否有上一首

hasPrevTrack(function(ret))

callback(ret,err)

ret:

  • 类型:JSON对象
{
  state:true,              //布尔类型;是否有上一首
}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.hasPrevTrack(function(ret) {
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

playNextTrack

播放下一首

playNextTrack(function(ret))

callback(ret,err)

ret:

  • 类型:JSON对象(仅iOS有效)
{
  state:true,              //布尔类型;是否播放成功
}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.playNextTrack(function(ret) {
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

playPrevTrack

播放上一首

playPrevTrack(function(ret))

callback(ret,err)

ret:

  • 类型:JSON对象(仅iOS有效)
{
  state:true,              //布尔类型;是否播放成功
}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.playPrevTrack(function(ret) {
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setAutoNexTrack

设置播放器自动播放下一首(仅iOS支持,android设置播放模式即可)

setAutoNexTrack({params})

params

status:

  • 类型:布尔类型
  • 描述:(可选项)是否自动播放下一首
  • 默认:true

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.setAutoNexTrack({
   status: true
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

seekToTime

设置播放器从特定的时间播放

seekToTime({params})

params

time:

  • 类型:数字类型
  • 描述:播放时间

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.seekToTime({
   time:6
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

clearCacheSafely

清空缓存

clearCacheSafely()

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.clearCacheSafely();

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

getTotalCacheSize

获取缓存大小

getTotalCacheSize(function(ret))

callback(ret,err)

ret:

  • 类型:JSON对象
{
  cacheSize:,              //数字类型;缓存大小
}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.getTotalCacheSize(function(ret) {
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setTrackPlayMode

设置当前播放器的下一首选择模式

setTrackPlayMode({params})

params

trackPlayMode:

  • 类型:数字类型
  • 描述:选择模式
  • 默认:0
  • 取值如下:
    • 0:列表 (默认
    • 1:单曲循环
    • 2:随机顺序
    • 3:循环顺序
    • 4:mark for rounded (仅iOS支持)

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.setTrackPlayMode({
   trackPlayMode:0
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

getTrackPlayMode

获取当前播放器的下一首选择模式

getTrackPlayMode(function(ret))

callback(ret,err)

ret:

  • 类型:JSON对象
{
  trackPlayMode:0,  //数字类型;选择模式
                    //取值如下:
                       //0:列表 (默认
                       //1:单曲循环
                       //2:随机顺序
                       //3:循环顺序
                       //4:mark for rounded
}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.getTrackPlayMode(function(ret) {
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setVolume

设置播放器的音量

setVolume({params})

params

volume:

  • 类型:数字类型
  • 描述:音量,取值范围:0~1

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.setVolume({
   volume:0.6
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

startLivePlayWithRadio

开始播放直播电台

startLivePlayWithRadio({params})

params

radio:

  • 类型:json对象
  • 描述:查询返回直播电台json对象(仅iOS支持)

index:

  • 类型:数字类型
  • 描述:上个查询直播电台接口(getLiveRadio、getLiveGetRadiosByCategory)返回数据中的第几个(仅android支持)

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.startLivePlayWithRadio({
   radio: {},
   index
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

pauseLivePlay

暂停当前电台播放(android此接口等同pauseTrackPlay)

pauseLivePlay()

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.pauseLivePlay();

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

resumeLivePlay

恢复当前电台播放(android此接口等同resumeTrackPlay)

resumeLivePlay()

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.resumeLivePlay();

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

stopLivePlay

停止当前电台播放(android此接口等同stopTrackPlay)

stopLivePlay()

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.stopLivePlay();

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

seekHistoryLivePlay

设置电台播放器到指定的时间播放(仅iOS支持)

seekHistoryLivePlay({params})

params

durtion:

  • 类型:数字类型
  • 描述:指定的时间

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.seekHistoryLivePlay({
   durtion:6
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

playNextProgram

播放下一个录播电台节目(仅iOS有效)

playNextProgram()

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.playNextProgram();

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

playPreProgram

播放上一个录播电台节目(仅iOS有效)

playPreProgram()

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.playPreProgram();

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

addTrackPlayListener

点播事件的监听

addTrackPlayListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    eventType: 'didPlaylistEnd', //字符串类型;监听的事件类型,取值范围如下:
                                 //notifyProcess:播放时回掉,频率为1s,告知当前播放进度和播放时间
                                 //notifyCacheProcess:播放时回掉,告知当前播放器的缓冲进度
                                 //didPlaylistEnd:播放列表结束
                                 //didStart:开始播放
                                 //didReplacePlayList:成功替换播放列表时调用(仅iOS支持)
                                 //willPlaying:将要播放
                                 //didPlaying:已经播放(仅iOS支持)
                                 //paused:暂停
                                 //stopped:停止
                                 //end:结束(仅iOS支持)
                                 //didChange:切换声音
                                 //didFailed:播放失败(仅iOS支持)
                                 //didError:/播放数据请求失败
                                 //didPausePlayForBadNetwork:没有网络情况下播放器因缓冲已播完而停止播放时触发(仅iOS支持)
                                 //bufferingStop:停止缓存(仅android有效)
                                 //bufferingStart:开始缓存(仅android有效)

    percent:0,                   //数字类型;播放器的播放进度或缓冲进度,eventType == notifyProcess、notifyCacheProcess时返回  
    currentSecond:0,             //数字类型;播放时间,eventType == notifyProcess时返回                               
    error:{},                    //json对象,错误信息,eventType == didFailed时返回
    data:{}                      //json对象,错误信息,eventType == didError时返回

}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.addTrackPlayListener(function(ret) {
  api.alert({ msg:ret.eventType});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addLivePlayListener

直播事件的监听(仅iOS支持,androi通过addTrackPlayListener接口一起回调)

addLivePlayListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    eventType: 'didStart', //字符串类型;监听的事件类型,取值范围如下:
                           //notifyProcess:播放时回掉,频率为1s,告知当前播放进度和播放时间
                           //notifyCacheProcess:播放时回掉,告知当前播放器的缓冲进度
                           //didStart:开始播放
                            //didPlaying:已经播放
                            //didPaused:暂停
                            //didStopped:停止
                            //didEnd:结束
                            //didFailed:播放失败
                            //willPlaying:将要播放
                            //bufferStart:缓存开始
                            //bufferEnd:缓存结束
    percent:0,              //数字类型;播放器的播放进度或缓冲进度,eventType == notifyProcess、notifyCacheProcess时返回  
   currentTime:0,          //数字类型;播放时间,eventType == notifyProcess时返回,
   error:{},               //json对象,eventType == didFailed时返回                         

}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.addLivePlayListener(function(ret) {
  api.alert({ msg:ret.eventType});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getCurrentType

获取当前播放的类型(仅android支持)

getCurrentType(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    playType: , //数字类型;当前播放的类型;取值范围:1/当前没有声音,2/点播,3/直播

}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.getCurrentType(function(ret) {
  api.alert({ msg:ret.eventType});
});

可用性

Android系统

可提供的1.0.0及更高版本

getPlayDuration

获取音频时长(仅android支持)

getPlayDuration(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    duration: , //数字类型;音频时长

}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.getPlayDuration(function(ret) {
  api.alert({ msg:ret.eventType});
});

可用性

Android系统

可提供的1.0.0及更高版本

getPlayCurrPositon

获取当前播放进度(仅android支持)

getPlayCurrPositon(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    position: , //数字类型;

}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.getPlayCurrPositon(function(ret) {
  api.alert({ msg:ret.eventType});
});

可用性

Android系统

可提供的1.0.0及更高版本

getCurPlayUrl

获取当前播放地址(仅android支持)

getCurPlayUrl(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    url:'' , //字符串类型;

}

示例代码

var acXimalaya = api.require('acXimalaya');
acXimalaya.getCurPlayUrl(function(ret) {
  api.alert({ msg:ret.eventType});
});

可用性

Android系统

可提供的1.0.0及更高版本

track参数说明

参数名 类型 描述
total_count 数字 声音总个数
total_page 数字 声音总页数
tracks json 声音列表
id 数字 声音ID
track_title 字符串 声音名称
track_tags 字符串 声音标签列表
track_intro 字符串 声音简介
cover_url_small 字符串 声音封面小图
cover_url_middle 字符串 声音封面中图
cover_url_large 字符串 声音封面大图
announcer JSON 专辑所属主播信息
duration 数字 声音时长,单位秒
play_count 数字 播放数
favorite_count 数字 喜欢数
comment_count 数字 评论数
download_count 数字 下载次数
play_url_32 字符串 播放地址32位
play_size_32 数字 32位声音文件大小
play_url_64 字符串 播放地址64位
play_size_64 数字 64位声音文件大小
play_url_24_m4a 字符串 声音m4a格式24位地址
play_size_24_m4a 数字 声音m4a格式24位大小
play_url_64_m4a 字符串 声音m4a格式64位地址
play_size_64_m4a 数字 声音m4a格式64位大小
can_download Bool 可否下载,true-可下载,false-不可下载
download_url 数字 声音下载地址
download_size 数字 声音下载大小
order_num 数字 一条声音在一个专辑中的位置
subordinated_album JSON 声音所属专辑信息
source 数字 声音来源,1-用户原创,2-用户转采
updated_at 数字 声音更新时间,Unix毫秒数时间戳
created_at 数字 声音创建时间,Unix毫秒数时间戳

announcer参数说明

参数名 类型 描述
id 数字 主播用户ID
vcategory_id 数字 主播分类ID
nickname 字符串 主播用户昵称
avatar_url 字符串 主播头像
is_verified Boolean 主播是否加V

subordinated_album参数说明

参数名 类型 描述
id 数字 ID
album_title 字符串 专辑名称
cover_url_small 字符串 专辑封面小,无则返回空字符串””
cover_url_middle 字符串 专辑封面中,无则返回空字符串””
cover_url_large 字符串 专辑封面大,无则返回空字符串””

Category参数说明

参数名 类型 描述
order_num 数字 排序值,值越小排序越在前
category_name 字符串 分类名
cover_url_small 字符串 分类封面小图
cover_url_middle 字符串 分类封面中图
cover_url_large 字符串 分类封面大图

album参数说明

参数名 类型 描述
id 数字 ID
album_title 字符串 专辑名称
album_tags 字符串 专辑标签列表
album_intro 字符串 专辑简介
cover_url_small 字符串 声音封面小图
cover_url_middle 字符串 声音封面中图
cover_url_large 字符串 声音封面大图
announcer JSON 专辑所属主播信息
play_count 字符串 专辑播放次数
favorite_count 字符串 专辑喜欢数
include_track_count 字符串 专辑包含声音数
track_id JSON 专辑中最新上传的一条声音信息
can_download Bool 能否下载,true-可下载,false-不可下载
updated_at 数字 声音更新时间,Unix毫秒数时间戳
created_at 数字 声音创建时间,Unix毫秒数时间戳

Province参数说明

参数名 类型 描述
id 数字 省市ID
province_code 数字 省市代码,比如110000
province_name 字符串 省市名称,比如”北京”、”河北”
created_at 数字 创建时间,Unix毫秒数时间戳

radio参数说明

参数名 类型 描述
id 数字 声音ID
radio_name 数字 电台名称
radio_desc 字符串 电台简介
program_name 字符串 正在直播的节目名称
schedule_id 数字 正在直播的节目时间表ID
start_time 数字 节目开始时间,比如”09:00”
end_time 数字 节目结束时间,比如”10:00”
support_bitrates Array 支持的码率列表,如[24,64]
rate24_aac_url 字符串 24码率aac格式播放地址
rate24_ts_url 字符串 24码率ts格式播放地址
rate64_aac_url 字符串 64码率aac格式播放地址
rate64_ts_url 字符串 64码率ts格式播放地址
radio_play_count 数字 电台累计收听次数
cover_url_small 字符串 电台封面小图
cover_url_large 字符串 电台封面大图
updated_at 数字 声音更新时间,Unix毫秒数时间戳

错误码

code 描述
0 请求成功
9400 参数错误
9001 已经初始化了
9002 未初始化
9003 JSON组装异常
9004 播放器列表为空