本文介绍如何使用阿里智能语音审核 RESTful API 对频道内的音频进行实时审核。
第一次使用阿里智能语音审核服务之前,你需要首先在 Agora 控制台购买套餐包,开通审核服务。步骤如下:
支付成功后,你就可以在产品用量页面看到阿里智能语音审核的使用情况。
要对频道内的音频进行实时审核,你需要调用阿里智能语音审核 RESTful API,发送 HTTPS 请求。阿里智能语音审核会将审核结果以 HTTP 请求的形式发送到你指定的地址。
下图为实现音频审核需要调用的 API 时序图。
所有的请求都发送给域名:api.agora.io
。仅支持 HTTPS 协议。
所有的请求 URL 和请求包体内容都是区分大小写的。
Agora RESTful API 要求 Basic HTTP 认证。每次发送 HTTP 请求时,都必须在请求头部填入 Authorization
字段。关于如何生成该字段的值,请参考 HTTP 基本认证。
在开始审核前,必须调用 acquire
方法请求一个用于审核的 resource ID。调用该方法成功后,你可以从 HTTP 响应包体中的 resourceId
字段得到一个 resource ID。这个 resource ID 的时效为五分钟,你需要在五分钟内用这个 resource ID 开始审核。
一个 resource ID 仅可用于一次审核。
获得 resource ID 后,在五分钟内调用 start
方法加入频道开始审核。调用该方法成功后,你可以从 HTTP 响应包体中获得一个 sid (审核 ID)。该 ID 是一次审核周期的唯一标识。
start
方法时,请确保 uid
字段引号内为整型 UID。审核过程中,你可以多次调用 query
方法查询审核状态。调用该方法成功后,你可以从 HTTP 响应包体中获得审核的状态。
调用 stop
方法离开频道,停止审核。调用该方法成功后,你可以从 HTTP 响应包体中获得审核的状态。
当频道空闲(无用户)超过预设时间(默认为 30 秒) 后,阿里智能语音审核会自动停止。
审核结果将直接通知到你通过 callbackAddr
参数设置的地址。详情见审核结果的回调。
start
之前必须调用 acquire
获取一个 resource ID。start
请求。stop
之后不能再调用 query
。下面列出一些常见的调用错误:
acquire
➡ start
➡ start
用同一个 resource ID 重复调用 start
,会收到 HTTP 状态码 201,错误码 7。
acquire
➡ start
➡ acquire
➡ start
用相同的参数重复调用 acquire
和 start
,会收到 HTTP 状态码 400,错误码 53。
acquire
➡ start
➡ 停止审核 ➡ query
停止审核后再去调用 query
,会收到 HTTP 状态码 404,错误码 404。停止审核有以下几种情况:
stop
。acquire
➡ start
➡ stop
& query
调用 stop
的过程中调用 query
,会影响 stop
的响应内容,响应的 HTTP 状态码为 206。
如果你在集成和使用中遇到其他问题,可以参考常见错误。