如何使用Agora SDK停止应用中的云端录制?
停止Agora云端录制的实现方案
Agora云端录制的启停由服务端侧控制(客户端SDK无法直接操作),以下是具体的停止方法,基于你已完成录制任务的启动(持有启动时返回的resourceId和sid):
方式1:使用Agora Server SDK(以Java为例)
- 先初始化服务端SDK客户端,配置你的Agora App ID和App Certificate
- 调用停止录制接口,传入必要参数:
// 初始化云端录制客户端 CloudRecordingClient cloudRecordingClient = new CloudRecordingClient("你的AppID", "你的AppCertificate"); // 构造停止请求参数 StopRecordingRequest req = new StopRecordingRequest(); req.setResourceId("录制任务的resourceId"); req.setSid("录制任务的sid"); req.setCname("目标频道名称"); req.setUid("发起录制时使用的服务端UID"); // 发起停止请求并处理结果 StopRecordingResponse resp = cloudRecordingClient.stopRecording(req); if (resp.getCode() == 0) { // 录制成功停止 } else { // 根据错误码排查问题,比如资源不存在、权限错误等 }
方式2:直接调用REST API
构造POST请求发送至Agora云端录制停止接口:
- 请求URL:
https://api.agora.io/v1/apps/{你的AppID}/cloud_recording/resourceid/{resourceId}/sid/{sid}/mode/{录制模式}/stop
(录制模式填individual或mix,与启动时一致) - 请求头:
Content-Type: application/jsonAuthorization: 你的服务端鉴权Token
- 请求体(JSON):
{ "cname": "目标频道名", "uid": "发起录制的服务端UID" }
关键注意事项
resourceId和sid是录制任务的唯一标识,必须妥善保存,丢失后无法终止对应任务- 停止请求触发后,云端会完成当前片段的录制与上传,再终止任务
- 若任务已自动停止(如频道无用户超时),重复调用停止接口会返回错误,建议先通过查询接口确认任务状态
内容的提问来源于stack exchange,提问作者Tadas Petra
相关产品推荐
相关产品推荐

