acXimalaya

init refreshToken loadAuthorizeModel settingAuthorizeState checkQRCodeLoginStatus

点播接口

getCategoriesList getAlbumsList getAlbumsBatch getMetadataList

直播接口

getLiveProvince getLiveSchedule getLiveCity getRadioByID getLiveGetRadiosByCategory

播放器接口

playWithDecryptedUrl pauseTrackPlay stopTrackPlay hasNextTrack playNextTrack setAutoNexTrack clearCacheSafely setTrackPlayMode setVolume pauseLivePlay stopLivePlay playNextProgram addTrackPlayListener getCurrentType getPlayCurrPositon

本模块封装了喜马拉雅 SDK

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

配置实例如下:

模块接口

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:

  • 类型:字符串类型
  • 描述:授权回调地址;(仅android支持)
  • 例:‘

callback(ret,err)

ret:

  • 类型:JSON对象

内部字段:

  1. "status": true
  2. }

err:

  • 类型:JSON对象

内部字段:

  1. {
  2. "errorNo": 9001, //错误编号
  3. "errorCode": '', //错误代码
  4. "errorDesc": '' //错误信息描述
  5. }

示例代码

  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.init({
  3. appKey: '',
  4. appSecret: ''
  5. },function(ret, err) {
  6. if (ret)
  7. alert(JSON.stringify(ret));
  8. else
  9. alert(JSON.stringify(err));
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

authorize

授权接口

authorize({params})

params

isOpen:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

refreshToken

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

refreshToken()

示例代码

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

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

registerAndAuthorize

注册并授权接口

registerAndAuthorize({params})

params

isOpen:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

loadAuthorizeModel

获取AuthorizeModel

loadAuthorizeModel(callback(ret))

callback(ret)

ret:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

requestExchangeToken

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

requestExchangeToken({params})

params

tUid:

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

tToken:

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

示例代码

  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.requestExchangeToken({
  3. tUid:'',
  4. tToken:''
  5. });

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

settingAuthorizeState

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

settingAuthorizeState({params})

params

state:

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

示例代码

  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.settingAuthorizeState({
  3. state:''
  4. });

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

requestLoginQR

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

requestLoginQR({params})

params

qrCodeSize:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

checkQRCodeLoginStatus

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

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

checkQRCodeLoginStatus()

params

q:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

addAuthorizeListener

授权事件的监听

addAuthorizeListener(callback(ret))

callback(ret)

ret:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getCategoriesList

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

getCategoriesList(function(ret, err))

callback(ret,err)

ret:

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

err:

  • 类型:JSON对象

内部字段:

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

示例代码

  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.getCategoriesList(function(ret, err) {
  3. if (ret)
  4. alert(JSON.stringify(ret));
  5. else
  6. alert(JSON.stringify(err));
  7. });

可用性

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对象
  1. {
  2. "status": true, //布尔类型,是否成功
  3. "tags": [{
  4. "tag_name": "脱口秀", //字符串类型;标签名称
  5. "kind": "tag" //字符串类型;固定值"tag"
  6. }
  7. ]
  8. }

err:

  • 类型:JSON对象

内部字段:

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

示例代码

  1. var acXimalaya = api.require('acXimalaya');
  2. ximalaya.getTags({
  3. categoryid: 1,
  4. type: 0
  5. }, function(ret, err) {
  6. if (ret)
  7. alert(JSON.stringify(ret));
  8. else
  9. alert(JSON.stringify(err));
  10. });

可用性

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对象
  1. {
  2. "status": true, //布尔类型,是否成功
  3. "category_id":3,
  4. "total_page":2383,
  5. "total_count":2383,
  6. "current_page":1,
  7. "tag_name":"言情",
  8. "albums":[
  9. {
  10. "id":290926,
  11. "kind":"album",
  12. "category_id":3,
  13. "album_title":"最好的我们【博集天卷】",
  14. "album_tags":"八月长安,校园,畅销书,言情,都市",
  15. "album_intro":"你有这个机会...",
  16. "cover_url_middle":"http://fdfs.xmcdn.com/group8/M00/43/FF/wKgDYVcN6_CTdXmDAATTRsqCusY790_mobile_meduim.jpg",
  17. "cover_url_large":"http://fdfs.xmcdn.com/group8/M00/43/FF/wKgDYVcN6_CTdXmDAATTRsqCusY790_mobile_large.jpg",
  18. "announcer":{
  19. "id":15767220,
  20. "kind":"user",
  21. "nickname":"雅楠",
  22. "avatar_url":"http://fdfs.xmcdn.com/group22/M09/8A/89/wKgJM1hBXBXSB2swAAVX1KDBqcA831_web_large.jpg",
  23. "is_verified":true
  24. },
  25. "play_count":9088018,
  26. "share_count":3848,
  27. "favorite_count":0,
  28. "subscribe_count":91081,
  29. "include_track_count":64,
  30. "last_uptrack":{
  31. "track_id":4785642,
  32. "track_title":"最好的我们 第六十四集(结局)",
  33. "duration":1187,
  34. "created_at":1419596370000,
  35. "updated_at":1494927876000
  36. },
  37. "is_finished":2,
  38. "can_download":true,
  39. "updated_at":1486408251000,
  40. "created_at":1414033394000
  41. },
  42. ...
  43. ]
  44. }

err:

  • 类型:JSON对象

内部字段:

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

示例代码

  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.getAlbumsList({
  3. categoryid: 2,
  4. tagname: "爵士",
  5. page: 1,
  6. pagesize: 3
  7. }, function(ret, err) {
  8. if (ret)
  9. alert(JSON.stringify(ret));
  10. else
  11. alert(JSON.stringify(err));
  12. });

可用性

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

err:

  • 类型:JSON对象

内部字段:

  1. {
  2. "code": 9002,
  3. "msg": "Uninitialized"
  4. }

示例代码

  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.getAlbumsBrowse({
  3. albumId: 2,
  4. sort: "",
  5. page: 1,
  6. count: 20
  7. }, function(ret, err) {
  8. if (ret)
  9. alert(JSON.stringify(ret));
  10. else
  11. alert(JSON.stringify(err));
  12. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getAlbumsBatch

批量获取专辑列表

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

params

ids:

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

callback(ret,err)

ret:

  • 类型:JSON对象
  1. {
  2. "status": true, //布尔类型,是否成功
  3. "albums":[
  4. {
  5. "id":341210,
  6. "kind":"album",
  7. "category_id":6,
  8. "album_title":"小马宝莉【巴巴妈妈讲故事】",
  9. "album_tags":"儿童读物,儿童故事,绘本故事,童话故事,睡前故事",
  10. "album_intro":"",
  11. "cover_url_small":"http://fdfs.xmcdn.com/group6/M07/1B/67/wKgDhFTYl3LQtzIDAALWBCBmlas599_mobile_small.jpg",
  12. "cover_url_middle":"http://fdfs.xmcdn.com/group6/M07/1B/67/wKgDhFTYl3LQtzIDAALWBCBmlas599_mobile_meduim.jpg",
  13. "cover_url_large":"http://fdfs.xmcdn.com/group6/M07/1B/67/wKgDhFTYl3LQtzIDAALWBCBmlas599_mobile_large.jpg",
  14. "tracks_natural_ordered":false,
  15. "announcer":{
  16. "id":18489196,
  17. "kind":"user",
  18. "nickname":"巴巴妈妈讲故事",
  19. "avatar_url":"http://fdfs.xmcdn.com/group5/M07/FD/DF/wKgDtVSaJ6XBssq3ADRrZnbdcIk926_web_large.JPG",
  20. "is_verified":true
  21. },
  22. "play_count":44457292,
  23. "favorite_count":0,
  24. "share_count":19586,
  25. "subscribe_count":46829,
  26. "include_track_count":85,
  27. "last_uptrack":{
  28. "track_id":43830799,
  29. "track_title":"巴巴妈妈和女儿的新专辑:《猫头鹰讲科学》,希望你喜欢!",
  30. "duration":32,
  31. "created_at":1500009535000,
  32. "updated_at":1500014744000
  33. },
  34. "can_download":true,
  35. "is_finished":0,
  36. "created_at":1423480921000,
  37. "is_paid":false,
  38. "estimated_track_count":0,
  39. "album_rich_intro":"",
  40. "speaker_intro":"",
  41. "free_track_count":0,
  42. "free_track_ids":"",
  43. "sale_intro":"",
  44. "expected_revenue":"",
  45. "buy_notes":"",
  46. "speaker_title":"",
  47. "speaker_content":"",
  48. "has_sample":false,
  49. "composed_price_type":0,
  50. "detail_banner_url":""
  51. },
  52. ...
  53. ]
  54. }

err:

  • 类型:JSON对象

内部字段:

  1. {
  2. "code": 9002,
  3. "msg": "Uninitialized"
  4. }

示例代码

  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.getAlbumsBatch({
  3. ids:'85584,85585,85581,2663492'
  4. }, function(ret, err) {
  5. if (ret)
  6. alert(JSON.stringify(ret));
  7. else
  8. alert(JSON.stringify(err));
  9. });

可用性

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对象
  1. {
  2. "status": true, //布尔类型,是否成功
  3. "category_id":3,
  4. "total_page":2383,
  5. "total_count":2383,
  6. "current_page":1,
  7. "tag_name":"言情",
  8. "tracks": [
  9. {
  10. "id": 17567064,
  11. "kind": "track",
  12. "track_title": "夏日酷热,听清凉的Bossa Nova(上)~优品音乐104",
  13. "track_tags": "爵士",
  14. "track_intro": "玫瑰色的七四七 - 彭靖惠 蓝旗袍 - 范晓萱 南屏晚钟 - 蔡淳佳 梦里人 - 陈百强 三个人的晚餐 - 王若琳 明天你是否依然爱我 - 潘越云",
  15. "cover_url_small": "http://fdfs.xmcdn.com/group4/M05/A5/7F/wKgDtFd0akzzjYI0AAFCS2M5dWU382_web_meduim.jpg",
  16. "cover_url_middle": "http://fdfs.xmcdn.com/group4/M05/A5/7F/wKgDtFd0akzzjYI0AAFCS2M5dWU382_web_large.jpg",
  17. "cover_url_large": "http://fdfs.xmcdn.com/group4/M05/A5/7F/wKgDtFd0akzzjYI0AAFCS2M5dWU382_mobile_large.jpg",
  18. "announcer": {
  19. "id": 7327678,
  20. "vcategory_id": 0,
  21. "nickname": "叶子的音乐纪念册",
  22. "avatar_url": "http://fdfs.xmcdn.com/group3/M0A/32/07/wKgDsVMTC2yjFJhMAAIzUhpL4Aw998_web_large.jpg",
  23. "follower_count": 0,
  24. "following_count": 0,
  25. "released_album_count": 0,
  26. "released_track_count": 0,
  27. "is_verified": true
  28. },
  29. "duration": 1647,
  30. "play_count": 10050,
  31. "favorite_count": 19,
  32. "comment_count": 3,
  33. "download_count": 0,
  34. "play_url_32": "http://fdfs.xmcdn.com/group13/M03/9E/C7/wKgDXldvo0nDoozzAGSNGpgF97Q640.mp3",
  35. "play_size_32": 6589722,
  36. "play_url_64": "http://fdfs.xmcdn.com/group13/M03/9E/E1/wKgDXVdvo1Xi1xlmAMkZ6omVxGg077.mp3",
  37. "play_size_64": 13179370,
  38. "play_url_24_m4a": "http://audio.xmcdn.com/group13/M03/9E/E1/wKgDXVdvo0ODKmPcAE3QNFI7tNU018.m4a",
  39. "play_size_24_m4a": "5099572",
  40. "play_url_64_m4a": "http://audio.xmcdn.com/group13/M06/9E/C7/wKgDXldvo1nQCRb2AMuBat1FXF8306.m4a",
  41. "play_size_64_m4a": "13336938",
  42. "can_download": true,
  43. "download_url": "http://download.xmcdn.com/group9/M05/9E/53/wKgDYldvozjTyLTiAGhWw8uY6DU027.aac",
  44. "download_size": 6837955,
  45. "order_num": 3,
  46. "subordinated_album": {
  47. "id": 2650009,
  48. "album_title": "音乐优品",
  49. "cover_url_small": "http://fdfs.xmcdn.com/group7/M07/8A/EB/wKgDWldWrWfyrAyDAAJLp6xUS-k951_mobile_small.jpg",
  50. "cover_url_middle": "http://fdfs.xmcdn.com/group7/M07/8A/EB/wKgDWldWrWfyrAyDAAJLp6xUS-k951_mobile_meduim.jpg",
  51. "cover_url_large": "http://fdfs.xmcdn.com/group7/M07/8A/EB/wKgDWldWrWfyrAyDAAJLp6xUS-k951_mobile_large.jpg"
  52. },
  53. "source": 1,
  54. "updated_at": 1467849575000,
  55. "created_at": 1466934452000
  56. ]
  57. }

err:

  • 类型:JSON对象

内部字段:

  1. {
  2. "code": 9002,
  3. "message": "Uninitialized"
  4. }

示例代码

  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.getTracksHot({
  3. categoryId: 2,
  4. tagName: "爵士",
  5. page: 1,
  6. count: 3
  7. }, function(ret, err) {
  8. if (ret)
  9. alert(JSON.stringify(ret));
  10. else
  11. alert(JSON.stringify(err));
  12. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getMetadataList

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

params

categoryId:

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

callback(ret,err)

ret:

  • 类型:JSON对象
  1. {
  2. "status": true, //布尔类型,是否成功
  3. metaDatas:[ //Json数组类型;元数据列表
  4. {
  5. displayName: '', //字符串类型;元数据显示名称
  6. kind: '', //字符串类型;kind
  7. attributes: [ //Json数组类型;
  8. {
  9. attr_key: , //数字类型;用于请求/metadata/album接口的属性键
  10. attr_value: '', //字符串类型;用于请求/metadata/album接口的属性值
  11. display_name: '', //字符串类型;属性的显示名称
  12. child_metadata: [ //Json数组类型;
  13. {
  14. displayName: '', //字符串类型;元数据显示名称
  15. kind: '',
  16. },
  17. ]
  18. }
  19. ]
  20. }
  21. ]
  22. }

err:

  • 类型:JSON对象

内部字段:

  1. {
  2. "code": 9002,
  3. "message": "Uninitialized"
  4. }
  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.getMetadataList({
  3. categoryId:1
  4. }, function(ret, err) {
  5. if (ret)
  6. alert(JSON.stringify(ret));
  7. else
  8. alert(JSON.stringify(err));
  9. });

可用性

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对象

err:

  • 类型:JSON对象

内部字段:

  1. {
  2. "code": 9002,
  3. "msg": "Uninitialized"
  4. }

示例代码

  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.getMetadataAlbums({
  3. categoryId:1,
  4. calc_dimension:1,
  5. count:20,
  6. page:1,
  7. metadata_attributes:'97:6;131:2'
  8. }, function(ret, err) {
  9. if (ret)
  10. alert(JSON.stringify(ret));
  11. else
  12. alert(JSON.stringify(err));
  13. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getLiveProvince

获取直播省份列表

getLiveProvince(function(ret, err))

callback(ret,err)

ret:

  • 类型:JSON对象
  1. {
  2. "status": true, //布尔类型,是否成功
  3. provinces:[ //Json数组类型;
  4. {
  5. id:, //数字类型;省份id
  6. kind:'',
  7. province_code:, //数字类型;省份代码
  8. province_name:'', //字符串类型;省市名称
  9. created_at:, //数字类型;创建时间,时间戳
  10. updated_at:'' //数字类型;更新时间,时间戳
  11. }
  12. ]
  13. }

err:

  • 类型:JSON对象

内部字段:

  1. {
  2. "code": 9002,
  3. "msg": "Uninitialized"
  4. }

示例代码

  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.getLiveProvince({
  3. province_code:320000
  4. },function(ret, err) {
  5. if (ret)
  6. alert(JSON.stringify(ret));
  7. else
  8. alert(JSON.stringify(err));
  9. });

可用性

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对象
  1. {
  2. "status": true, //布尔类型,是否成功
  3. current_page:, //数字类型;选择页
  4. total_count:, //数字类型;总数
  5. total_page:, //数字类型;总页数
  6. radios[ //数组类型;直播电台列表
  7. {
  8. radio_name:'', //字符串类型;电台名称
  9. radio_desc:'', //字符串类型;电台简介
  10. program_name:'', //字符串类型;正在播出节目名称
  11. schedule_id:, //数字类型;正在拨出节目时间表id
  12. support_bitrates:[], //数组类型;支持码率列表
  13. rate24_aac_url:'', //字符串类型;24码率aac格式播放地址
  14. rate24_ts_url:'', //字符串类型;24码率ts格式播放地址
  15. rate64_aac_url:'', //字符串类型;64码率aac格式播放地址
  16. rate64_ts_url:'', //字符串类型;64码率ts格式播放地址
  17. radio_play_count:, //数字类型;电台累计收听次数
  18. cover_url_small:'', //字符串类型;电台封面小图
  19. cover_url_large:'', //字符串类型;电台封面大图
  20. updated_at:, //数字类型;声音更新时间
  21. created_at:,
  22. id:0,
  23. kind:'',
  24. },
  25. ]
  26. }

err:

  • 类型:JSON对象

内部字段:

  1. {
  2. "code": 9002,
  3. "msg": "Uninitialized"
  4. }

示例代码

  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.getLiveRadio({
  3. radio_type: 2,
  4. province_code: 110000,
  5. page: 2,
  6. count: 20
  7. }, function(ret, err) {
  8. if (ret)
  9. alert(JSON.stringify(ret));
  10. else
  11. alert(JSON.stringify(err));
  12. });

可用性

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对象
  1. {
  2. "status": true, //布尔类型,是否成功
  3. current_page:, //数字类型;选择页
  4. total_count:, //数字类型;总数
  5. total_page:, //数字类型;总页数
  6. radios[ //数组类型;直播电台列表
  7. {
  8. radio_name:'', //字符串类型;电台名称
  9. radio_desc:'', //字符串类型;电台简介
  10. program_name:'', //字符串类型;正在播出节目名称
  11. schedule_id:, //数字类型;正在拨出节目时间表id
  12. start_time:, //字符串类型;节目开始时间
  13. support_bitrates:[], //数组类型;支持码率列表
  14. rate24_aac_url:'', //字符串类型;24码率aac格式播放地址
  15. rate24_ts_url:'', //字符串类型;24码率ts格式播放地址
  16. rate64_aac_url:'', //字符串类型;64码率aac格式播放地址
  17. rate64_ts_url:'', //字符串类型;64码率ts格式播放地址
  18. radio_play_count:, //数字类型;电台累计收听次数
  19. cover_url_small:'', //字符串类型;电台封面小图
  20. cover_url_large:'', //字符串类型;电台封面大图
  21. updated_at:, //数字类型;声音更新时间
  22. created_at:,
  23. id:0,
  24. kind:'',
  25. },
  26. ]
  27. }

err:

  • 类型:JSON对象

内部字段:

  1. {
  2. "code": 9002,
  3. "msg": "Uninitialized"
  4. }

示例代码

  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.getLiveRadioOfCity({
  3. radio_type: 2,
  4. province_code: 110000,
  5. page: 2,
  6. count: 20
  7. }, function(ret, err) {
  8. if (ret)
  9. alert(JSON.stringify(ret));
  10. else
  11. alert(JSON.stringify(err));
  12. });

可用性

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对象
  1. {
  2. "status": true, //布尔类型,是否成功
  3. schedules[ //数组类型;节目列表
  4. {
  5. radio_id:, //数字类型;所属电台id
  6. radio_name:, //字符串类型;所属电台名称
  7. start_time:'', //字符串类型;节目开始时间
  8. end_time:'', //字符串类型;节目结束时间
  9. updated_at:, //数字类型;节目更新时间
  10. kind:'',
  11. listen_back_url:'', //字符串类型;节目回听地址
  12. related_program:{}, //Json对象类型;关联的直播节目
  13. id:0
  14. },
  15. ]
  16. }

err:

  • 类型:JSON对象

内部字段:

  1. {
  2. "code": 9002,
  3. "msg": "Uninitialized"
  4. }

示例代码

  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.getLiveSchedule({
  3. radio_id:94,
  4. weekday:0,
  5. }, function(ret, err) {
  6. if (ret)
  7. alert(JSON.stringify(ret));
  8. else
  9. alert(JSON.stringify(err));
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getLiveProgram

获取当前直播的节目

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

params

radioId:

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

callback(ret,err)

ret:

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

err:

  • 类型:JSON对象

内部字段:

  1. {
  2. "code": 9002,
  3. "msg": "Uninitialized"
  4. }

示例代码

  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.getLiveProgram({
  3. radio_id:94,
  4. }, function(ret, err) {
  5. if (ret)
  6. alert(JSON.stringify(ret));
  7. else
  8. alert(JSON.stringify(err));
  9. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getLiveCity

获取某省份城市列表

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

params

province_code:

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

callback(ret,err)

ret:

  • 类型:JSON对象
  1. {
  2. status: true, //布尔类型,是否成功
  3. citys:[{
  4. id:, //数字类型;id
  5. city_code:'', //字符串类型;城市code
  6. city_name:'', //字符串类型;城市名称
  7. kind:'' //字符串类型;kind
  8. }]
  9. }

err:

  • 类型:JSON对象

内部字段:

  1. {
  2. "code": 9002,
  3. "msg": "Uninitialized"
  4. }

示例代码

  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.getLiveCity({
  3. province_code:94,
  4. }, function(ret, err) {
  5. if (ret)
  6. alert(JSON.stringify(ret));
  7. else
  8. alert(JSON.stringify(err));
  9. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getRadioByID

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

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

params

ids:

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

callback(ret,err)

ret:

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

err:

  • 类型:JSON对象

内部字段:

  1. {
  2. "code": 9002,
  3. "msg": "Uninitialized"
  4. }

示例代码

  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.getRadioByID({
  3. ids:94,95,
  4. }, function(ret, err) {
  5. if (ret)
  6. alert(JSON.stringify(ret));
  7. else
  8. alert(JSON.stringify(err));
  9. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getRadioCategory

获取电台分类

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

callback(ret,err)

ret:

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

err:

  • 类型:JSON对象

内部字段:

  1. {
  2. "code": 9002,
  3. "msg": "Uninitialized"
  4. }

示例代码

  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.getRadioCategory(function(ret, err) {
  3. if (ret)
  4. alert(JSON.stringify(ret));
  5. else
  6. alert(JSON.stringify(err));
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getLiveGetRadiosByCategory

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

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

radio_category_id:

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

page:

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

count:

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

callback(ret,err)

ret:

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

err:

  • 类型:JSON对象

内部字段:

  1. {
  2. "code": 9002,
  3. "msg": "Uninitialized"
  4. }

示例代码

  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.getLiveGetRadiosByCategory({
  3. radio_category_id:6,
  4. }, function(ret, err) {
  5. if (ret)
  6. alert(JSON.stringify(ret));
  7. else
  8. alert(JSON.stringify(err));
  9. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

playWithTrack

播放声音列表

playWithTrack({params})

params

track:

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

playlist:

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

index:

  • 类型:数字类型
  • 描述:(可选项)列表中从第几个开始播放(仅android支持)
  • 默认:0
  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.playWithTrack({
  3. track: {},
  4. playlist:[]
  5. });

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

playWithDecryptedUrl

通过url进行播放

playWithDecryptedUrl({params})

params

url:

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

示例代码

  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.playWithDecryptedUrl({
  3. url: ''
  4. });

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

continuePlayFromAlbum

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

continuePlayFromAlbum({params})

params

albumID:

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

trackID:

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

示例代码

  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.continuePlayFromAlbum({
  3. albumID: '',
  4. trackID: ''
  5. });

可用性

iOS系统

可提供的 1.0.0 及更高版本

pauseTrackPlay

暂停当前播放

pauseTrackPlay()

示例代码

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

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

resumeTrackPlay

恢复当前播放

resumeTrackPlay()

示例代码

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

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

stopTrackPlay

stopTrackPlay()

示例代码

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

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

replacePlayList

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

replacePlayList({params})

params

playlist:

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

示例代码

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

hasNextTrack

是否有下一首

hasNextTrack(function(ret))

callback(ret,err)

ret:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

hasPrevTrack

是否有上一首

hasPrevTrack(function(ret))

callback(ret,err)

ret:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

playNextTrack

播放下一首

playNextTrack(function(ret))

callback(ret,err)

ret:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

playPrevTrack

播放上一首

playPrevTrack(function(ret))

callback(ret,err)

ret:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setAutoNexTrack

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

setAutoNexTrack({params})

params

status:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

seekToTime

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

seekToTime({params})

params

time:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

clearCacheSafely

清空缓存

clearCacheSafely()

示例代码

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

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

getTotalCacheSize

获取缓存大小

getTotalCacheSize(function(ret))

callback(ret,err)

ret:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setTrackPlayMode

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

setTrackPlayMode({params})

params

trackPlayMode:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

getTrackPlayMode

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

getTrackPlayMode(function(ret))

callback(ret,err)

ret:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setVolume

设置播放器的音量

setVolume({params})

params

volume:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

startLivePlayWithRadio

开始播放直播电台

startLivePlayWithRadio({params})

params

radio:

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

index:

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

示例代码

  1. var acXimalaya = api.require('acXimalaya');
  2. acXimalaya.startLivePlayWithRadio({
  3. radio: {},
  4. index
  5. });

iOS系统,Android系统

可提供的 1.0.0 及更高版本

pauseLivePlay

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

pauseLivePlay()

示例代码

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

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

resumeLivePlay

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

resumeLivePlay()

示例代码

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

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

stopLivePlay

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

stopLivePlay()

示例代码

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

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

seekHistoryLivePlay

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

seekHistoryLivePlay({params})

params

durtion:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

playNextProgram

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

playNextProgram()

示例代码

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

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

playPreProgram

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

playPreProgram()

示例代码

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

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

addTrackPlayListener

点播事件的监听

addTrackPlayListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. eventType: 'didPlaylistEnd', //字符串类型;监听的事件类型,取值范围如下:
  3. //notifyProcess:播放时回掉,频率为1s,告知当前播放进度和播放时间
  4. //notifyCacheProcess:播放时回掉,告知当前播放器的缓冲进度
  5. //didPlaylistEnd:播放列表结束
  6. //didStart:开始播放
  7. //didReplacePlayList:成功替换播放列表时调用(仅iOS支持)
  8. //willPlaying:将要播放
  9. //didPlaying:已经播放(仅iOS支持)
  10. //paused:暂停
  11. //stopped:停止
  12. //end:结束(仅iOS支持)
  13. //didChange:切换声音
  14. //didFailed:播放失败(仅iOS支持)
  15. //didError:/播放数据请求失败
  16. //didPausePlayForBadNetwork:没有网络情况下播放器因缓冲已播完而停止播放时触发(仅iOS支持)
  17. //bufferingStop:停止缓存(仅android有效)
  18. //bufferingStart:开始缓存(仅android有效)
  19. percent:0, //数字类型;播放器的播放进度或缓冲进度,eventType == notifyProcess、notifyCacheProcess时返回
  20. currentSecond:0, //数字类型;播放时间,eventType == notifyProcess时返回
  21. error:{}, //json对象,错误信息,eventType == didFailed时返回
  22. data:{} //json对象,错误信息,eventType == didError时返回
  23. }

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addLivePlayListener

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

addLivePlayListener(callback(ret))

callback(ret)

ret:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getCurrentType

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

getCurrentType(callback(ret))

callback(ret)

ret:

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

示例代码

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

可用性

Android系统

可提供的1.0.0及更高版本

getPlayDuration

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

getPlayDuration(callback(ret))

callback(ret)

ret:

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

示例代码

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

可用性

Android系统

可提供的1.0.0及更高版本

getPlayCurrPositon

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

getPlayCurrPositon(callback(ret))

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. position: , //数字类型;
  3. }

示例代码

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

可用性

Android系统

可提供的1.0.0及更高版本

getCurPlayUrl

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

getCurPlayUrl(callback(ret))

callback(ret)

ret:

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

示例代码

可用性

Android系统

track album Category radio

track参数说明

announcer参数说明

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

subordinated_album参数说明

Category参数说明

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

album参数说明

Province参数说明

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

radio参数说明

错误码

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