音频能力
使用说明
能力说明
此能力主要用于为智能设备提供音频服务,使用前需要接入设备管理,功能包括歌单管理、点播服务,消费用户网盘里的音频文件。
接入步骤
1、获取access_token,参考开放平台接入文档
2、进行设备注册和设备绑定,参考开放平台设备管理接口文档:https://www.xnip.cn/shouce/629/47115.html
3、使用 access_token + deviceId 请求音频服务
通用参数
参数 | 类型 | 必需 | 示例值 | 描述 |
---|---|---|---|---|
clienttype | int | 是 | 101 | 客户端类型,具体值线下提供,请联系邮箱netdisk-union@baidu.com |
channel | string | 是 | yinxiangserver | 客户端名称,具体值线下提供,请联系邮箱netdisk-union@baidu.com |
rand | string | 是 | 26741456 | 防破解参数,计算方法线下提供,请联系邮箱netdisk-union@baidu.com |
access_token | string | 是 | 1.a6b7dbd428f731035f771b8d15063f61.86400.8124328 | 授权凭证 |
device_id | string | 是 | 104771607rs1607808 | 设备ID,设备注册接口下发 |
time | string | 是 | 1545999823 | 请求时间戳,单位秒 |
备注:
1、通用参数所有接口都要带
2、通用参数必须放在URL里(即query参数)
获取待添加的音频文件列表
接口说明
获取未添加到播放列表的音频文件
请求地址
https://pan.baidu.com/rest/2.0/xpan/soundbox?method=selectlist
请求方法
GET
请求参数
参数 | 类型 | 必需 | 示例值 | 描述 |
---|---|---|---|---|
clienttype | int | 是 | 101 | 客户端类型,具体值线下提供,请联系邮箱netdisk-union@baidu.com |
channel | string | 是 | yinxiangserver | 客户端名称,具体值线下提供,请联系邮箱netdisk-union@baidu.com |
rand | string | 是 | 26741456 | 防破解参数,计算方法线下提供,请联系邮箱netdisk-union@baidu.com |
access_token | string | 是 | 1.a6b7dbd428f731035f771b8d15063f61.86400.8124328 | 授权凭证 |
device_id | string | 是 | 104771607rs1607808 | 设备ID,设备注册接口下发 |
time | string | 是 | 1545999823 | 请求时间戳,单位秒 |
start | int32 | 是 | 0 | 查询起点,从0开始 |
limit | int32 | 是 | 500 | 查询数目,最大限制为500 |
响应参数
参数 | 类型 | 示例 | 描述 |
---|---|---|---|
errno | int | 0 | 错误码 |
has_more | int32 | 1 | 是否还有下一分页,1 还有、0 没有 |
cursor | int32 | 10 | 下一次查询的start |
list | json array | 文件列表,返回结果按文件修改时间倒序排列 | |
list[0]["path"] | string | /apps/appName/音乐/叶惠美/周杰伦-最新东风破.mp3 | 文件全路径 |
list[0]filename | string | 周杰伦-最新东风破.mp3 | 文件名 |
list[0]fs_id | uint64 | 162859824199844 | 文件id |
list[0]size | uint64 | 5050022 | 文件大小 |
list[0]ctime | int32 | 1405574688 | 服务端创建时间 |
list[0]mtime | int32 | 1545998568 | 服务端修改时间 |
请求示例
curl请求示例
curl "https://pan.baidu.com/rest/2.0/xpan/soundbox?method=selectlist&clienttype=101&channel=yinxiangserver&access_token=123&device_id=456&time=1545999823&rand=789&start=0&limit=10" -H "User-Agent: pan.baidu.com"
python请求示例
import requests
payload = {} headers = { 'Cookie': 'BAIDUID=56BE0870011A115CFA43E19EA4CE92C2:FG=1; BIDUPSID=56BE0870011A115CFA43E19EA4CE92C2; PSTM=1535714267' }
response = requests.request("GET", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
响应示例
{
"cursor": 10,
"errmsg": "succ",
"errno": 0,
"has_more": 1,
"list": [
{
"ctime": 1405574688,
"filename": "周杰伦 - 最新东风破.mp3",
"fs_id": 162859824199844,
"mtime": 1545998568,
"path": "/apps/appName/音乐/叶惠美/周杰伦 - 最新东风破.mp3",
"size": 5050022
},
{
"ctime": 1405574693,
"filename": "周杰伦 - 双刀.mp3",
"fs_id": 711243569757141,
"mtime": 1534397825,
"path": "/apps/appName/音乐/叶惠美/周杰伦 - 双刀.mp3",
"size": 11663360
}
],
"request_id": "2747470237664671977"
}
错误码说明
错误码 | 描述 |
---|---|
42501 | 数目超限 |
更多错误码:https://www.xnip.cn/shouce/629/47126.html
添加音频文件到播放列表
接口说明
将用户网盘里的音频文件添加到播放列表
请求地址
https://pan.baidu.com/rest/2.0/xpan/soundbox?method=add
请求方式
POST
请求参数
query参数
参数 | 类型 | 必需 | 示例值 | 描述 |
---|---|---|---|---|
clienttype | int | 是 | 101 | 客户端类型,具体值线下提供,请联系邮箱netdisk-union@baidu.com |
channel | string | 是 | yinxiangserver | 客户端名称,具体值线下提供,请联系邮箱netdisk-union@baidu.com |
rand | string | 是 | 26741456 | 防破解参数,计算方法线下提供,请联系邮箱netdisk-union@baidu.com |
access_token | string | 是 | 1.a6b7dbd428f731035f771b8d15063f61.86400.8124328 | 授权凭证 |
device_id | string | 是 | 104771607rs1607808 | 设备ID,设备注册接口下发 |
time | string | 是 | 1545999823 | 请求时间戳,单位秒 |
body参数
参数 | 类型 | 必需 | 示例值 | 描述 |
---|---|---|---|---|
param | json str | 是 | {"list":[162859824199844,1039269563558843]} | list为fs_id数组,数组最大长度为200 |
响应参数
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
list | json array | [162859824199844,1039269563558843] | 添加成功的fs_id |
errno | int | 0 | 错误码 |
请求示例
curl请求示例
curl "https://pan.baidu.com/rest/2.0/xpan/soundbox?method=add&clienttype=101&channel=yinxiangserver&access_token=123&device_id=456&time=1545999823&rand=789" -d 'param={"list":[162859824199844,1039269563558843]}' -H "User-Agent: pan.baidu.com"
python请求示例
import requests
payload = {'param': '{"list":[162859824199844,1039269563558843]}'} files = [
] headers = { 'Cookie': 'BAIDUID=56BE0870011A115CFA43E19EA4CE92C2:FG=1; BIDUPSID=56BE0870011A115CFA43E19EA4CE92C2; PSTM=1535714267' }
response = requests.request("POST", url, headers=headers, data = payload, files = files)
print(response.text.encode('utf8'))
响应示例
{
"errmsg": "succ",
"errno": 0,
"list": [
162859824199844,
1039269563558843
],
"request_id": "2887486210172651182"
}
错误码说明
错误码 | 描述 |
---|---|
42501 | 数目超限 |
42503 | 音频文件添加失败 |
更多错误码:https://www.xnip.cn/shouce/629/47126.html
从播放列表中删除音频文件
接口说明
从播放列表里删除某个音频文件
请求地址
https://pan.baidu.com/rest/2.0/xpan/soundbox?method=delete
请求方式
POST
请求参数
query参数
参数 | 类型 | 必需 | 示例值 | 描述 |
---|---|---|---|---|
clienttype | int | 是 | 101 | 客户端类型,具体值线下提供,请联系邮箱netdisk-union@baidu.com |
channel | string | 是 | yinxiangserver | 客户端名称,具体值线下提供,请联系邮箱netdisk-union@baidu.com |
rand | string | 是 | 26741456 | 防破解参数,计算方法线下提供,请联系邮箱netdisk-union@baidu.com |
access_token | string | 是 | 1.a6b7dbd428f731035f771b8d15063f61.86400.8124328 | 授权凭证 |
device_id | string | 是 | 104771607rs1607808 | 设备ID,设备注册接口下发 |
time | string | 是 | 1545999823 | 请求时间戳,单位秒 |
body参数
参数 | 类型 | 必需 | 描述 |
---|---|---|---|
param | json array | 是 | {"list":[162859824199844,1039269563558843]} |
响应参数
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
list | json array | [162859824199844,1039269563558843] | 删除成功的fs_id |
请求示例
curl请求示例
curl "https://pan.baidu.com/rest/2.0/xpan/soundbox?method=delete&clienttype=101&channel=yinxiangserver&access_token=123&device_id=456&time=1545999823&rand=789" -d 'param={"list":[162859824199844,1039269563558843]}' -H "User-Agent: pan.baidu.com"
python请求示例
import requests
payload = {'param': '{"list":[162859824199844,1039269563558843]}'} files = [
] headers = { 'Cookie': 'BAIDUID=56BE0870011A115CFA43E19EA4CE92C2:FG=1; BIDUPSID=56BE0870011A115CFA43E19EA4CE92C2; PSTM=1535714267' }
response = requests.request("POST", url, headers=headers, data = payload, files = files)
print(response.text.encode('utf8'))
响应示例
{
"errmsg": "succ",
"errno": 0,
"list": [
162859824199844,
1039269563558843
],
"request_id": "3078939214344735430"
}
错误码说明
错误码 | 描述 |
---|---|
42501 | 数目超限 |
42505 | 音频文件删除失败 |
更多错误码:https://www.xnip.cn/shouce/629/47126.html
获取音频播放列表
接口说明
获取音频播放列表
请求地址
https://pan.baidu.com/rest/2.0/xpan/soundbox?method=list
请求方式
GET
请求参数
参数 | 类型 | 必需 | 示例值 | 描述 |
---|---|---|---|---|
clienttype | int | 是 | 101 | 客户端类型,具体值线下提供,请联系邮箱netdisk-union@baidu.com |
channel | string | 是 | yinxiangserver | 客户端名称,具体值线下提供,请联系邮箱netdisk-union@baidu.com |
rand | string | 是 | 26741456 | 防破解参数,计算方法线下提供,请联系邮箱netdisk-union@baidu.com |
access_token | string | 是 | 1.a6b7dbd428f731035f771b8d15063f61.86400.8124328 | 授权凭证 |
device_id | string | 是 | 104771607rs1607808 | 设备ID,设备注册接口下发 |
time | string | 是 | 1545999823 | 请求时间戳,单位秒 |
start | int32 | 是 | 0 | 查询起点,从0开始 |
limit | int32 | 是 | 1000 | 查询数目,最大为1000 |
响应参数
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
errno | int | 0 | 错误码 |
has_more | int32 | 1 | 是否还有下一分页,1 还有、0 没有 |
list[0]["album"] | string | 爱像太平洋 | 专辑名称,可能为空 |
list[0]["artist"] | string | 任贤齐 | 歌手名称,可能为空 |
list[0]["title"] | string | 伤心太平洋 | 歌曲名称,可能为空 |
list[0]["filename"] | string | 伤心太平洋.mp3 | 文件名 |
备注:音频meta信息可能为空
请求示例
curl请求示例
curl "https://pan.baidu.com/rest/2.0/xpan/soundbox?method=list&clienttype=101&channel=yinxiangserver&access_token=123&device_id=456&time=1545999823&rand=789&start=0&limit=10" -H "User-Agent: pan.baidu.com"
python请求示例
import requests
payload = {} files = {} headers = { 'Cookie': 'BAIDUID=56BE0870011A115CFA43E19EA4CE92C2:FG=1; BIDUPSID=56BE0870011A115CFA43E19EA4CE92C2; PSTM=1535714267' }
response = requests.request("GET", url, headers=headers, data = payload, files = files)
print(response.text.encode('utf8'))
响应示例
{
"errmsg": "succ",
"errno": 0,
"has_more": 0,
"list": [
{
"album": "",
"artist": "",
"ctime": 1546001690,
"filename": "26. Gigantic Formula.flac",
"fs_id": 1039269563558843,
"mtime": 1546002347,
"path": "/来自:华为路由器/26. Gigantic Formula.flac",
"size": 26963668,
"title": ""
},
{
"album": "",
"artist": "",
"ctime": 1546001690,
"filename": "周杰伦 - 最新东风破.mp3",
"fs_id": 162859824199844,
"mtime": 1546002347,
"path": "/百度test/音乐/叶惠美/周杰伦 - 最新东风破.mp3",
"size": 5050022,
"title": ""
}
],
"request_id": "3053359695812786205"
}
错误码说明
错误码 | 描述 |
---|---|
42501 | 数目超限 |
更多错误码:https://www.xnip.cn/shouce/629/47126.html
音频列表diff
接口说明
用于获取播放列表的变动
请求地址
https://pan.baidu.com/rest/2.0/xpan/soundbox?method=diff
请求方法
GET
请求参数
参数 | 类型 | 必需 | 示例值 | 描述 |
---|---|---|---|---|
clienttype | int | 是 | 101 | 客户端类型,具体值线下提供,请联系邮箱netdisk-union@baidu.com |
channel | string | 是 | yinxiangserver | 客户端名称,具体值线下提供,请联系邮箱netdisk-union@baidu.com |
rand | string | 是 | 26741456 | 防破解参数,计算方法线下提供,请联系邮箱netdisk-union@baidu.com |
access_token | string | 是 | 1.a6b7dbd428f731035f771b8d15063f61.86400.8124328 | 授权凭证 |
device_id | string | 是 | 104771607rs1607808 | 设备ID,设备注册接口下发 |
time | string | 是 | 1545999823 | 请求时间戳,单位秒 |
cursor | string | 是 | null | diff起点,初始值为null |
响应参数
参数 | 类型 | 示例 | 描述 |
---|---|---|---|
list | json array | 文件列表,每次最多返回500条数据 | |
list[0]["album"] | string | 爱像太平洋 | 专辑名称,可能为空 |
list[0]["artist"] | string | 任贤齐 | 歌手名称,可能为空 |
list[0]["title"] | string | 伤心太平洋 | 歌曲名称,可能为空 |
list[0]["filename"] | string | 伤心太平洋.mp3 | 文件名 |
has_more | int32 | 是否还有数据,1 还有、0 没有 | |
cursor | int32 | at6hotv57vKrrqIoifFbvH6LvDBeIJoUihueib4kk6NIBbXDFnEFKlayOQ | 下一次diff的起点 |
errno | int | 0 | 错误码 |
请求示例
curl请求示例
curl "https://pan.baidu.com/rest/2.0/xpan/soundbox?method=diff&clienttype=101&channel=yinxiangserver&access_token=123&device_id=456&time=1545999823&rand=789&diff=null" -H "User-Agent: pan.baidu.com"
python请求示例
import requests
payload = {} files = {} headers = { 'Cookie': 'BAIDUID=56BE0870011A115CFA43E19EA4CE92C2:FG=1; BIDUPSID=56BE0870011A115CFA43E19EA4CE92C2; PSTM=1535714267' }
response = requests.request("GET", url, headers=headers, data = payload, files = files)
print(response.text.encode('utf8'))
响应示例
{
"cursor": "at6hotv57vKrrqIoifFbvH6LvDBeIJoAAfeXbc9mUspWOhhRzXG4-Zu7_l_Rihueib4kk6NIBbXDFnEFKlayOQ==",
"errmsg": "succ",
"errno": 0,
"has_more": 0,
"list": [
{
"album": "",
"artist": "",
"ctime": 1546005446,
"filename": "Acreix - Visions.mp3",
"fs_id": 158989214875228,
"isdelete": 0,
"mtime": 1546005446,
"path": "/百度test/音乐/Acreix - Visions.mp3",
"size": 8062875,
"title": ""
},
],
"request_id": "3199522241430307797"
}
获取音频文件播放地址
接口说明
获取音频文件的播放地址,用于播放音频。
请求地址
https://pan.baidu.com/rest/2.0/xpan/soundbox?method=download
请求方法
GET
请求参数
参数 | 类型 | 必需 | 示例值 | 描述 |
---|---|---|---|---|
clienttype | int | 是 | 101 | 客户端类型,具体值线下提供,请联系邮箱netdisk-union@baidu.com |
channel | string | 是 | yinxiangserver | 客户端名称,具体值线下提供,请联系邮箱netdisk-union@baidu.com |
rand | string | 是 | 26741456 | 防破解参数,计算方法线下提供,请联系邮箱netdisk-union@baidu.com |
access_token | string | 是 | 1.a6b7dbd428f731035f771b8d15063f61.86400.8124328 | 授权凭证 |
device_id | string | 是 | 104771607rs1607808 | 设备ID,设备注册接口下发 |
time | string | 是 | 1545999823 | 请求时间戳,单位秒 |
fs_id | uint64 | 是 | 158989214875228 | 文件ID |
响应参数
请求示例
curl请求示例
curl "https://pan.baidu.com/rest/2.0/xpan/soundbox?method=download&clienttype=101&channel=yinxiangserver&access_token=123&device_id=456&time=1545999823&rand=789&fs_id=158989214875228" -H "User-Agent: pan.baidu.com"
python请求示例
import requests
payload = {} files = {} headers = { 'Cookie': 'BAIDUID=56BE0870011A115CFA43E19EA4CE92C2:FG=1; BIDUPSID=56BE0870011A115CFA43E19EA4CE92C2; PSTM=1535714267' }
response = requests.request("GET", url, headers=headers, data = payload, files = files)
print(response.text.encode('utf8'))
响应示例
{
"dlink": "http://d.pcs.baidu.com/file/2667ad73181c52eb672785da879325b4?fid=3389535607-250528-158989214875228&time=1546005822&rt=sh&sign=FDTAERe-DCb740ccc5511e5e8fedcff06b081203-DpSc49gVxrS%2F3lx4XBHPQ29C3IE%3D&expires=8h&dp-logid=0&dp-callid=0&r=92733828&caller=dumi",
"errmsg": "succ",
"errno": 0,
"request_id": "3234634906513265323"
}
错误码说明
错误码 | 描述 |
---|---|
42506 | 文件已被删除 |