可以通过开放 API 或本地 API 上传一个 MP4 文件、开始直播、查询状态并结束直播。
| 操作 | 开放 API | 本地 API |
|---|---|---|
| 查询余额及余量 | GET /balance | GET /api/balance |
| 开始直播 | POST /cloudphone/live/start | POST /api/cloudphone/live/start |
| 查询直播状态 | POST /cloudphone/live/status | POST /api/cloudphone/live/status |
| 结束直播 | POST /cloudphone/live/end | POST /api/cloudphone/live/end |
- 使用支持直播的云手机机型;不兼容机型当前会返回
33401。 - 开始或结束直播前先将云手机开机。
- 获取 OAuth2 Bearer Token,并确保当前成员具有该云手机的操作权限。
- 直播文件必须是 MP4,并以
uploadType=2上传。
- 调用
POST /cloudphone/uploadUrl,再使用 HTTPPUT将 MP4 内容上传到返回的presignedUrl。 - 调用
POST /cloudphone/uploadFile,传入文件地址、目标目录和uploadType: 2。 - 轮询
POST /cloudphone/uploadFileResult。如果data为null,表示文件记录尚未可见,应继续轮询;当data.status为1(成功)或2(失败)时停止。 - 保存字符串类型的
data.fileId,并将其精确数值作为int64传给POST /cloudphone/live/start。JavaScript 等客户端应使用支持任意精度整数的序列化方式,不能先转换为Number。
{
"phoneId": 190000000000000001,
"fileId": 820000000000000001
}使用 POST /cloudphone/live/status 查询直播状态,使用 POST /cloudphone/live/end 结束直播。这两个接口均接收 { "phoneId": 190000000000000001 }。
- 调用
POST /api/cloudphone/upload/file/signedUrl,再使用 HTTPPUT将 MP4 内容上传到返回的presignedUrl。 - 调用
POST /api/cloudphone/upload/file,传入文件地址、目标目录和uploadType: 2。 - 轮询
POST /api/cloudphone/upload/file/result。如果data为null,应继续轮询;当data.status为1或2时停止。 - 将返回的
data.fileId精确数值传给POST /api/cloudphone/live/start;使用/api/cloudphone/live/status和/api/cloudphone/live/end查询或结束直播。
完整请求和响应结构参见云手机开放 API和云手机本地 API。
开始直播请求超时后,应先查询状态再决定是否重试,不能将超时直接视为启动失败。
| 错误码 | 含义 |
|---|---|
33300 | 云手机不存在 |
33301 | 云手机未开机 |
33401 | 当前云手机不支持直播 |
33418 | 直播文件不存在或已失效 |
33419 | /cloudphone/uploadFile 拒绝了非 MP4 的直播文件 |
99002 | 当前成员无权操作该云手机 |