- acXimalaya
- 概述
- init
- authorize
- refreshToken
- registerAndAuthorize
- loadAuthorizeModel
- requestExchangeToken
- settingAuthorizeState
- requestLoginQR
- checkQRCodeLoginStatus
- addAuthorizeListener
- getCategoriesList
- getTagsList
- getAlbumsList
- getAlbumsBrowse
- getAlbumsBatch
- getTracksHot
- getMetadataList
- getMetadataAlbums
- getLiveProvince
- getLiveRadio
- getLiveRadioOfCity
- getLiveSchedule
- getLiveProgram
- getLiveCity
- getRadioByID
- getRadioCategory
- getLiveGetRadiosByCategory
- playWithTrack
- playWithDecryptedUrl
- continuePlayFromAlbum
- pauseTrackPlay
- resumeTrackPlay
- stopTrackPlay
- replacePlayList
- hasNextTrack
- hasPrevTrack
- playNextTrack
- playPrevTrack
- setAutoNexTrack
- seekToTime
- clearCacheSafely
- getTotalCacheSize
- setTrackPlayMode
- getTrackPlayMode
- setVolume
- startLivePlayWithRadio
- pauseLivePlay
- resumeLivePlay
- stopLivePlay
- seekHistoryLivePlay
- playNextProgram
- playPreProgram
- addTrackPlayListener
- addLivePlayListener
- getCurrentType
- getPlayDuration
- getPlayCurrPositon
- getCurPlayUrl
- track参数说明
- announcer参数说明
- subordinated_album参数说明
- Category参数说明
- album参数说明
- Province参数说明
- radio参数说明
- 错误码
acXimalaya
授权接口
init authorize refreshToken registerAndAuthorize loadAuthorizeModel requestExchangeToken settingAuthorizeState requestLoginQR checkQRCodeLoginStatus addAuthorizeListener
点播接口
getCategoriesList getTagsList getAlbumsList getAlbumsBrowse getAlbumsBatch getTracksHot getMetadataList getMetadataAlbums
直播接口
getLiveProvince getLiveRadio getLiveSchedule getLiveProgram getLiveCity getLiveRadioOfCity getRadioByID getRadioCategory getLiveGetRadiosByCategory
播放器接口
playWithTrack playWithDecryptedUrl continuePlayFromAlbum pauseTrackPlay resumeTrackPlay stopTrackPlay replacePlayList hasNextTrack hasPrevTrack playNextTrack playPrevTrack setAutoNexTrack seekToTime clearCacheSafely getTotalCacheSize setTrackPlayMode getTrackPlayMode setVolume startLivePlayWithRadio pauseLivePlay resumeLivePlay stopLivePlay seekHistoryLivePlay playNextProgram playPreProgram addTrackPlayListener addLivePlayListener getCurrentType getPlayDuration getPlayCurrPositon getCurPlayUrl
概述
本模块封装了喜马拉雅 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 announcer album SubordinatedAlbum Category Province radio 错误码
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 | 播放器列表为空 |