回调函数
回调函数是sdk在一些特定场景下触发的接口,根据具体的业务场景来选择是否实现。
回调函数列表
统一状态码:code: 0 成功,-1 失败
回调函数名 | 回调参数 | 说明 |
---|---|---|
onInit | onInit({code,msg}) code:初始化结果,0:成功,-1:失败 msg: 初始化失败原因 | 初始化回调 |
onConnectSuccess | 无参数 | 调用start()接口成功时触发 |
onErrorMessage | onErrorMessage({code}) code:0 RTC通道中断 1 获取统计信息时出错 延迟丢包率 | 当播放出现异常时触发 |
onConnectFail | onConnectFail({code}) code:错误码,详见错误码说明文档 | 调用start()接口失败时触发 |
onAutoRecoveryTime | 无参数 | 无操作时间到期时触发 |
onAutoplayFailed | onAutoplayFailed(event) event:播放器事件 { userId: string, // 自动播放失败的流所属的用户 ID。不带此参数时表示本地流播放失败。 kind: string, // 自动播放失败的媒体类型: "video"或"audio" streamIndex: number, // 视频流属性 0:主流。包括:通过默认摄像头/麦克风采集到的视频/音频; 1:屏幕流。共享的视频流,或来自声卡的本地播放音频流。 mediaType: number, // 远端媒体流的类型. 1:audio; 2:video; 3:audio and video } | 自动播放音视频流失败时触发 |
onRunInformation | onRunInformation(stats) stats:远端媒体流统计信息,统计周期为 2s 。 { userId: string, // 进房用户的 userId audioStats:object, //远端音频流信息 videoStats:object, // 远端视频流信息 isScreen: boolean, // 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。 } | 回调当前运行信息 |
onChangeResolution | onChangeResolution(width,height) width:当前分辨率宽 height:当前分辨率高 | 当分辨率发生变化时触发 |
onTransparentMsg | onTransparentMsg(type, msg) type:保留字段,目前没有用,默认填0。 msg: 消息内容,字符串。 | 当收到云端app透传的消息时的触发 |
onOutputClipper | onOutputClipper(msg) msg: 复制的消息内容,字符串。 | 当在云机复制内容时触发 |
onRenderedFirstFrame | 无参数 | 视频首帧渲染成功时触发 |
onAudioError | onAudioError({code, msg}) msg: API_NOT_AVAILABLE 当前浏览器不支持麦克风功能 | 获取音频相关权限失败 |
onAudioInit | onAudioInit({code}) | 获取音频权限成功,且会收取麦克风声音 |
onAudioPause | onAudioPause({code}) | 暂停声音收取成功回调 |
onProgress | onProgress({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第一帧渲染成功"}} | 加载进度回调 |
onSocketCallback | onSocketCallback({code}) code:0 连接成功 1连接关闭 -1 连接失败 | websocket相关回调 |
onUserLeaveOrJoin | onUserLeaveOrJoin({type, userInfo}) type:join 加入房间 leave 离开房间 userInfo:{userId:"", extraInfo: "" } | 用户进房和退房间回调 |
onGroupControlError | onGroupControlError({code, msg}) code:TOKEN_ERR 获取token接口失败 INVALID_TOKEN: 进房时使用了已过期的 Token 或使用的 Token 无效。JOIN_ROOM_FAILED: 进房失败。REPEAT_JOIN: 重复进房。ROOM_FORBIDDEN: 房间被封禁导致进房失败。USER_FORBIDDEN: 用户被封禁导致进房失败。msg: 错误信息 | 群控错误相关回调 |