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:
- 类型:字符串类型
- 描述:授权回调地址;(仅android支持)
- 例:‘http://api.ximalaya.com/openapi-collector-app/get_access_token’
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
查询登录状态及授权信息接口
- 登录成功,进入authorizeSuccess回调
- 若失败,则进入authorizeFail回调
- 若用户未登录,则继续轮询本接口查询用户登录状态,建议控制在2-3秒轮询一次
- 二维码图片过期,则需要重新调用接口获取新的有效二维码图片
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 | 播放器列表为空 |