回调函数

回调函数是sdk在一些特定场景下触发的接口,根据具体的业务场景来选择是否实现。

回调函数列表

统一状态码:code: 0 成功,-1 失败

回调函数名回调参数说明
onInitonInit({code,msg})
code:初始化结果,0:成功,-1:失败
msg: 初始化失败原因
初始化回调
onConnectSuccess无参数调用start()接口成功时触发
onErrorMessageonErrorMessage({code}) code:0 RTC通道中断 1 获取统计信息时出错 延迟丢包率当播放出现异常时触发
onConnectFailonConnectFail({code})
code:错误码,详见错误码说明文档
调用start()接口失败时触发
onAutoRecoveryTime无参数无操作时间到期时触发
onAutoplayFailedonAutoplayFailed(event)
event:播放器事件
{
userId: string, // 自动播放失败的流所属的用户 ID。不带此参数时表示本地流播放失败。
kind: string, // 自动播放失败的媒体类型: "video"或"audio"
streamIndex: number, // 视频流属性 0:主流。包括:通过默认摄像头/麦克风采集到的视频/音频; 1:屏幕流。共享的视频流,或来自声卡的本地播放音频流。
mediaType: number, // 远端媒体流的类型. 1:audio; 2:video; 3:audio and video
}
自动播放音视频流失败时触发
onRunInformationonRunInformation(stats)
stats:远端媒体流统计信息,统计周期为 2s 。
{
userId: string, // 进房用户的 userId
audioStats:object, //远端音频流信息
videoStats:object, // 远端视频流信息
isScreen: boolean, // 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
}
回调当前运行信息
onChangeResolutiononChangeResolution(width,height)
width:当前分辨率宽
height:当前分辨率高
当分辨率发生变化时触发
onTransparentMsgonTransparentMsg(type, msg)
type:保留字段,目前没有用,默认填0。
msg: 消息内容,字符串。
当收到云端app透传的消息时的触发
onOutputClipperonOutputClipper(msg)
msg: 复制的消息内容,字符串。
当在云机复制内容时触发
onRenderedFirstFrame无参数视频首帧渲染成功时触发
onAudioErroronAudioError({code, msg})
msg: API_NOT_AVAILABLE 当前浏览器不支持麦克风功能
获取音频相关权限失败
onAudioInitonAudioInit({code})获取音频权限成功,且会收取麦克风声音
onAudioPauseonAudioPause({code})暂停声音收取成功回调
onProgressonProgress({code,msg}) {"WS_CONNECT":{"code":100,"msg":"WS开始连接"},"WS_SUCCESS":{"code":101,"msg":"WS连接成功"},"WS_CLOSE":{"code":102,"msg":"WS连接关闭"},"WS_ERROR":{"code":103,"msg":"WS连接出错"},"OWN_JOIN_ROOM":{"code":200,"msg":"收到加入房间信息"},"RECEIVE_OFFER":{"code":201,"msg":"设置offer信息成功"},"RECEIVE_OFFER_ERR":{"code":202,"msg":"设置offer信息失败"},"SEND_ANSWER":{"code":203,"msg":"发送answer信息"},"SEND_ANSWER_ERR":{"code":204,"msg":"发送answer信息失败"},"RECEIVE_ICE":{"code":205,"msg":"添加ICE信息成功"},"RECEIVE_ICE_ERR":{"code":206,"msg":"添加ICE信息失败"},"SEND_ICE":{"code":207,"msg":"发送ICE信息"},"RTC_CONNECTING":{"code":300,"msg":"RTC正在连接"},"RTC_CONNECTED":{"code":301,"msg":"RTC连接成功"},"RTC_DISCONNECTED":{"code":302,"msg":"RTC断开连接"},"RTC_CLOSE":{"code":303,"msg":"RTC连接关闭"},"RTC_FAILED":{"code":304,"msg":"RTC连接失败"},"RTC_TRACK_VIDEO":{"code":305,"msg":"RTC接收VIDEO流"},"RTC_TRACK_VIDEO_LOAD":{"code":306,"msg":"RTC接收VIDEO流后在VIDEO中加载成功"},"RTC_CHANNEL_OPEN":{"code":307,"msg":"RTC消息通道连接成功"},"RTC_CHANNEL_ERR":{"code":308,"msg":"RTC消息通道连接失败"},"VIDEO_FIRST_FRAME":{"code":309,"msg":"VIDEO加载成功当未收到云机的UI信息"},"VIDEO_FIRST_FRAME":{"code":310,"msg":"VIDEO第一帧渲染成功"}}加载进度回调
onSocketCallbackonSocketCallback({code}) code:0 连接成功 1连接关闭 -1 连接失败websocket相关回调
onUserLeaveOrJoinonUserLeaveOrJoin({type, userInfo}) type:join 加入房间 leave 离开房间 userInfo:{userId:"", extraInfo: "" }用户进房和退房间回调
onGroupControlErroronGroupControlError({code, msg}) code:TOKEN_ERR 获取token接口失败 INVALID_TOKEN: 进房时使用了已过期的 Token 或使用的 Token 无效。JOIN_ROOM_FAILED: 进房失败。REPEAT_JOIN: 重复进房。ROOM_FORBIDDEN: 房间被封禁导致进房失败。USER_FORBIDDEN: 用户被封禁导致进房失败。msg: 错误信息群控错误相关回调