声网实时音频对接说明

2023.09.22 17:31:02

    方案架构图

    下图展示了从发起反垃圾请求到处理违规情况的整体方案架构图。其中,“你的业务逻辑”展示了针对审核结果的示例处理策略。你也可以结合自己的业务场景,采取不同策略。

    方案架构图

    调用时序图

    短期房间

    调用时序图

    长期房间

    调用时序图

    接入说明

    准备工作

    开通反垃圾功能

    易盾控制台获取接入秘钥

    易盾控制台获取接入秘钥

    准备监听uid/token

    准备监听uid/token

    反垃圾SDK的uid号段预留,uid需要自定义,不能与房间内所有用户uid相同,长度不超过32位整形。

    建议您预留uid号段提供给音频反垃圾SDK加入音视频房间进行反垃圾服务;uid不能与房间内其他用户冲突,32 位无符号整数。 声网文档说明

    准备反垃圾SDK的uid授权进入房间的token

    方案1

    一次性token,适用于实际房间最长24小时短期房间

    方案2

    针对公开房间,无需token,提交url中token可不传,url格式:agora://uid@app/channel

    准备反垃圾结果接收地址(callbackURL)

    用于接收反垃圾异常检测结果,离线结果回调通知到客户的URL。主动回调数据接口超时时间设置为2s,为了保证顺利接收数据,需保证接收接口性能稳定并且保证幂等性。

    提交反垃圾检测

    完成鉴权流程后,您需要将反垃圾SDK所需加入的频道名(channelName)、token以及反垃圾SDK对应的uid按如下格式生成http请求,并提交检测接口,不同场景的提交检测地址有所不同:

    场景1:短期房间,准备允许短期周期内一直有效的监听token 提交URL:agora://uid:token@appid/channelName

    场景2:长期房间,已提供获取最新有效token的api,供易盾token失效时重新加入房间 提交URL:agora://appid/channelName

    场景3:公开房间,无需传入token 提交URL:agora://uid@appid/channelName

    接口地址

    https://as.dun.163.com/v3/liveaudio/check

    接口描述

    提交直播语音的URL进行语音内容检测

    请求参数

    公共参数已省略,详细见 请求公共参数,其他参数如下:

    参数名称 类型 是否必选 最大长度 描述
    url String Y 1024 场景1:短期房间,准备允许短期周期内一直有效的监听token,提交URL:agora://uid:token@appid/channelName;场景2:长期房间,已提供获取最新有效token的api,供易盾token失效时重新加入房间,提交URL:agora://appid/channelName,请注意,提交token需要进行URLEncode;场景3:公开房间,无需传入token提交URL:agora://uid@appid/channelName
    title String N 512 直播语音标题
    ip String N 128 用户IP地址
    account String N 128 用户唯一标识,如果无需登录则为空
    deviceId String N 128 用户设备 id
    version String Y 4 接口版本 v3.1
    deviceType Number N 4 用户设备类型,1:web, 2:wap, 3:android, 4:iphone, 5:ipad, 6:pc, 7:wp
    callback String N 512 数据回调参数,调用方根据业务情况自行设计,当调用文本离线结果获取接口时,该接口会原样返回该字段,详细见直播音频离线检测结果获取。作为数据处理标识,因此该字段应该设计为能唯一定位到该次请求的数据结构,如对用户的昵称进行检测,dataId可设为用户标识(用户ID),用户修改多次,每次请求数据的dataId可能一致,但是callback参数可以设计成定位该次请求的数据结构,比如callback字段设计成json,包含dataId和请求的时间戳等信息,当然如果不想做区分,也可以直接把callback设置成dataId的值。
    callbackUrl String N 512 离线结果回调通知到客户的URL。主动回调数据接口超时时间设置为2s,为了保证顺利接收数据,需保证接收接口性能稳定并且保证幂等性。

    响应结果

    响应字段如下,响应公共字段已省略,详细见响应公共字段

    result 数据结构

    参数名称 类型 描述
    taskId String 本次请求数据标识,可以根据该标识查询数据最新结果
    status Number 请求结果,0为成功,1为失败

    接收审核结果

    • 主动接收结果(推荐,结果获取更实时):

    通过在提交检测接口提交callbackURL,主动获取检测结果,主动回调数据接口超时时间设置为2s,为了保证顺利接收数据,需保证接收接口性能稳定并且保证幂等性。

    • 被动接收结果:

    您也可以通过定时轮询结果获取接口的方式获得结果;

    停止音频反垃圾

    停止音频反垃圾分为两种场景进行实现:

    1. 当房间结束时;
    2. 某一时刻,当前音频房间内不再需要音频反垃圾检测服务时; 您需要调用停止检测接口实现停止检测。

    停止检测接口:

    接口地址

    https://as-liveaudio.dun.163yun.com/v1/liveaudio/feedback

    接口描述

    实时更新直播中的直播语音信息

    请求参数

    公共参数已省略,详细见 请求公共参数,其他参数如下:

    参数名称 类型 是否必选 最大长度 描述
    version String Y 4 接口版本v1.0
    feedbacks String Y - 直播信息更新数据(Json数组)

    feedbacks字段原始数组结构

    参数名称 类型 是否必选 最大长度 描述
    taskId String Y - 直播音频taskId
    status Number N 3 直播音频开播状态, 100:下播

    响应结果

    响应字段如下,响应公共字段已省略,详细见[响应公共字段]https://support.dun.163.com/documents/588434426518708224?docId=588872712754794496):

    result 数组结构

    参数名称 类型 描述
    taskId String 直播音频taskId
    result Number 请求结果,0成功,1失败,2数据不存在
    在线咨询 电话咨询:95163223 免费试用