初始化SDK
获取实例
1. 自主品牌小程序中使用
npm install qcloud-iotexplorer-tme-sdkimport { TMESdkForMiniProgram } from 'qcloud-iotexplorer-tme-sdk';// 注:appDevSdk为初始化后的实例const tmeSdk = new TMESdkForMiniProgram(appDevSdk);
2. 自定义 H5 中使用
const tmeSdk = await window.h5PanelSdk.getTMESdk();
接口统一返回值
接口调用的返回值统一为
Promise<TMEResponse>
类型。interface TMEResponse {error_code: number;error_msg: string;data?: any;}
调用成功:返回一个 resolved 的 Promise,其值为 TMEResponse 类型,error_code=0,data 为返回结果。
调用失败:返回一个 rejected 的 Promise,包含错误码(error_code)及提示信息(error_msg)。
属性名 | 描述 | 类型 |
error_code | 错误码。 | number |
error_msg | 错误信息。 | string |
data | 响应数据。 | object |
错误码列表
错误码 | 说明 |
200001 | 参数错误。 |
200002 | 系统繁忙,如幂等接口并发调用等,通常由于用户并发操作造成。 |
200003 | 认证信息过期或错误,请重新登录。 |
200004 | 设备未激活。 |
200005 | 当前 sp 暂未支持此接口。 |
200006 | 系统错误,如内部调用超时等,由于服务内部异常导致。 |
200200 | 可直充剩余次数为0。 |
400000 | 登录授权失败。 |
400001 | 设备端超时无响应。 |
400002 | 调用 SDK 参数错误。 |
登录授权
用户设备登录授权
跳转酷狗音乐小程序授权,当再次返回 H5 或小程序时,Promise 状态改变。
接口定义
tmeSdk.login(deviceId: string) => Promise<TMEResponse>
参数说明
参数名 | 参数描述 | 类型 | 必填 |
deviceId | 设备 Id。 | string | 是 |
返回值
返回一个
Promise<TMEResponse>
。用户设备登出
原 token 将登出。
接口定义
tmeSdk.logout(deviceId: string) => Promise<TMEResponse>
参数说明
参数名 | 参数描述 | 类型 | 必填 |
deviceId | 设备 ID。 | string | 是 |
返回值
返回一个
Promise<TMEResponse>
。校验设备授权
接口定义
tmeSdk.checkDeviceAuth(deviceId: string) => Promise<TMEResponse>
参数说明
参数名 | 参数描述 | 类型 | 必填 |
deviceId | 设备 ID。 | string | 是 |
返回值
返回一个
Promise<TMEResponse>
。获取用户信息
接口定义
tmeSdk.getUserInfo(deviceId: string) => Promise<TMEResponse>
参数说明
参数名 | 参数描述 | 类型 | 必填 |
deviceId | 设备 ID。 | string | 是 |
返回值
返回一个
Promise<TMEResponse>
,其中 data 如下:属性名 | 描述 | 类型 |
userid | 用户 ID。 | string |
nick_name | 用户昵称。 | string |
img | 用户头像。 | string |
is_vip | 是否 vip 。 0:否。 1:是。 | enum: 0 1 |
vip_end_time | vip 有效期终止时间。 | string |
car_vip_end_time | 车机会员有效期终止时间。 | string |
svip_end_time | 豪 V 有效期终止时间。 | string |
播控部分
接口描述
调用播控 SDK,会下发物模型属性 +control_seq,需要设备上报相同的 control_seq。
若在超时范围内收到上报,视为下发播控成功,返回 resolved 状态的
Promise<TMEResponse>
。若超时未收到上报,返回 rejected 状态的
Promise<TMEResponse>
。超时设置可以通过
tmeSdk.config.timeout
来配置,默认值为10000,单位:毫秒(ms)。通用播控接口
接口定义
tmeSdk.controlKugouDeviceData(deviceData, deviceId: string) => Promise<TMEResponse>
参数说明
参数名 | 参数描述 | 类型 | 必填 |
deviceData | 设备物模型数据。 | object | 是 |
deviceId | 设备 ID。 | string | 是 |
返回值
返回一个
Promise<TMEResponse>
。播放
接口定义
tmeSdk.play(deviceId: string) => Promise<TMEResponse>
参数说明
参数名 | 参数描述 | 类型 | 必填 |
deviceId | 设备 ID。 | string | 是 |
返回值
返回一个
Promise<TMEResponse>
。暂停
接口定义
tmeSdk.pause(deviceId: string) => Promise<TMEResponse>
参数说明
参数名 | 参数描述 | 类型 | 必填 |
deviceId | 设备 ID。 | string | 是 |
返回值
返回一个
Promise<TMEResponse>
。上一首
接口定义
tmeSdk.preSong(deviceId: string) => Promise<TMEResponse>
参数说明
参数名 | 参数描述 | 类型 | 必填 |
deviceId | 设备 ID。 | string | 是 |
返回值
返回一个
Promise<TMEResponse>
。下一首
接口定义
tmeSdk.nextSong(deviceId: string) => Promise<TMEResponse>
参数说明
参数名 | 参数描述 | 类型 | 必填 |
deviceId | 设备 ID。 | string | 是 |
返回值
返回一个
Promise<TMEResponse>
。设置播放模式
接口定义
tmeSdk.setPlayMode(playMode: number, deviceId: string) => Promise<TMEResponse>
参数说明
参数名 | 参数描述 | 类型 | 必填 |
playMode | 播放模式: 0:顺序播放 。 1:单曲循环 。 2:随机播放。 | enum: 0 1 2 | 是 |
deviceId | 设备 ID。 | string | 是 |
返回值
返回一个
Promise<TMEResponse>
。设置音量
接口定义
tmeSdk.setVolume(volume: number, deviceId: string) => Promise<TMEResponse>
参数说明
参数名 | 参数描述 | 类型 | 必填 |
volume | 音量:0-100之间。 | number | 是 |
deviceId | 设备 ID。 | string | 是 |
返回值
返回一个
Promise<TMEResponse>
。设置播放进度
接口定义
tmeSdk.setPlayPosition(playPosition: number, deviceId: string) => Promise<TMEResponse>
参数说明
参数名 | 参数描述 | 类型 | 必填 |
playPosition | 播放进度:单位:秒(s)。 | number | 是 |
deviceId | 设备 ID。 | string | 是 |
返回值
返回一个
Promise<TMEResponse>
。设置播放质量
接口定义
tmeSdk.setPlayQuality(recommendQuality: number, deviceId: string) => Promise<TMEResponse>
参数说明
参数名 | 参数描述 | 类型 | 必填 |
recommendQuality | 播放质量: 0:标准 。 1:高清 。 2:无损。 | enum: 0 1 2 | 是 |
deviceId | 设备 ID。 | string | 是 |
返回值
返回一个
Promise<TMEResponse>
。设置当前播放歌曲
接口定义
tmeSdk.playSong(songId: string, songIndex: string, newQueueType: string, newQueueId: string | number, deviceId: string) => Promise<TMEResponse>
参数说明
参数名 | 参数描述 | 类型 | 必填 |
songId | 歌曲 ID。 | string | 是 |
songIndex | 歌曲所在播放列表的位置,从0开始。 | string | 是 |
newQueueType | 播放列表的类型: playlist 、newSongs 、recommendDailty 。 | string | 是 |
newQueueId | 播放列表 ID(当类型为“每日推荐”时,不存在 id,传undefined)。 | string | number | 是 |
deviceId | 设备 ID。 | string | 是 |
播放列表目前支持三种类型:歌单(playlist)、新歌首发(newSongs)、每日推荐(recommendDaily)。
返回值
返回一个
Promise<TMEResponse>
。内容部分
拉取内容通用接口
请求酷狗 API 拉取内容通用接口。
接口定义
tmeSdk.requestTMEApi(action: string, params, deviceId: string) => Promise<TMEResponse>
参数说明
参数名 | 描述 | 类型 | 必填 |
action | 接口 action。 | string | 是 |
params | 请求参数,无请求参数时,传{}。 | object | 是 |
deviceId | 设备 ID。 | string | 是 |
返回值
返回一个
Promise<TMEResponse>
。说明:
获取设备当前播放歌曲
接口定义
tmeSdk.getCurrentPlaySong(deviceId: string) => Promise<TMEResponse>
参数说明
参数名 | 描述 | 类型 | 必填 |
deviceId | 设备 ID。 | string | 是 |
返回值
返回一个
Promise<TMEResponse>
,data 为歌曲信息。获取设备当前播放列表
根据目前支持的播放类型(playType),拉取对应的歌单列表,并查出歌曲的详细信息。
接口定义
tmeSdk.getCurrentPlayQueue(deviceId: string) => Promise<TMEResponse>
参数说明
参数名 | 描述 | 类型 | 必填 |
deviceId | 设备 ID。 | string | 是 |
返回值
返回一个
Promise<TMEResponse>
。TMEResponse 中 data 如下:
属性名 | 描述 | 类型 |
playType | 播放列表类型。 | enum: playlist 、newSongs 、recommendDaily 。 |
queueId | 当前播放列表 ID,根据 playType 对应 playlist_id、album_id、top_id。 | string | number |
total | 列表中歌曲总数。 | number |
songs | 歌曲数组,具体歌曲属性参考 TME 文档中 Song 属性。 | Array[] |
获取歌曲详细信息
接口定义
tmeSdk.getSongDetail(songId: string, deviceId: string) => Promise<TMEResponse>
通过调用 requestTMEApi,请求歌曲播放链接与歌曲信息,返回歌曲的详细信息。
参数说明
参数名 | 描述 | 类型 | 必填 |
songId | 歌曲 ID。 | string | 是 |
deviceId | 设备 ID。 | string | 是 |
返回值
返回一个
Promise<TMEResponse>
,data 为歌曲信息。获取歌单详细信息
接口定义
tmeSdk.getPlaylistDetail(action: string, params, deviceId: string) => Promise<TMEResponse>
通过调用 requestTMEApi,请求歌单列表与歌曲信息,丰富列表中的歌曲信息,返回歌单列表。
参数说明
参数名 | 描述 | 类型 | 必填 |
action | 新歌首发(awesome_newsong)、每日推荐(awesome_everyday)、歌单歌曲(playlist_song)。 | string | 是 |
params | object | 是 | |
deviceId | 设备 ID。 | string | 是 |
返回值
返回一个
Promise<TMEResponse>
,data 为歌单列表。