BrtcListener 用于给 SDK 调用者返回 SDK 接口调用的执行结果、消息、内部工作状态等回调通知,方便 SDK 调用者结合具体的业务场景进行相应处理。
onError错误事件,表示 SDK 抛出的不可恢复的错误,比如进入房间失败或设备开启失败等。
onError: (code: number, message: string)
参数
onEnterRoom已加入房间的回调
onEnterRoom: (result: number)
详情
onExitRoom离开房间的事件回调
onExitRoom: (reason: number)
onRemoteUserEnterRoom有用户加入当前房间
onRemoteUserEnterRoom: (userId: string)
onRemoteUserLeaveRoom有用户离开当前房间
onRemoteUserLeaveRoom: (userId: string, reason: number)
onUserVideoAvailable远端用户是否存在可播放的主路画面(一般用于摄像头)
onUserVideoAvailable: (userId: string, available: boolean)
收到 onUserVideoAvailable(userid, true) 通知时,表示该路画面已经有可用的视频数据帧到达,此时,您需要调用 startRemoteView 接口加载该用户的远程画面。
收到 onUserVideoAvailable(userid, false) 通知时,表示该路远程画面已被关闭,可能由于您主动 mute 了该用户的视频,或者该用户关闭了自己的视频
自动订阅模式下,收到此通知表示远端用户的视频流已经到达并会被自动拉取并解码 手动订阅模式下,收到此通知表示远端用户的视频流已经可用,但还需要主动触发订阅才会拉取
onUserAudioAvailable远端用户是否存在可播放的音频数据
onUserAudioAvailable: (userId: string, available: boolean)
自动订阅模式下,收到此通知表示远端用户的音频流已经到达并会被自动拉取并解码播放 手动订阅模式下,收到此通知表示远端用户的音频流已经可用,但还需要主动触发订阅才能解码播放
onUserSubStreamAvailable端用户的辅流(通常是屏幕共享)的可用或不可用状态发生状态变化时通知
onUserSubStreamAvailable: (userId: string, available: boolean)
“辅路画面”一般被用于承载屏幕分享的画面。当您收到 onUserSubStreamAvailable(userId, true) 通知时,表示该路画面已经有可用的视频数据帧到达。您可以调用 startRemoteView 传入 BrtcVideoStreamTypeSub 类型来请求预览。
onFirstVideoFrameDecoded远端用户的视频首帧解码完成通知
onFirstVideoFrameDecoded: (userId: string, width: number, height: number, elapsed: number)
onFirstAudioFrame已接收到某个远端用户的音频首帧的回调
onFirstAudioFrame: (userId: string)
onFirstVideoFrame远端用户的视频首帧渲染的回调通知
onFirstVideoFrame: (userId: string, streamType: number, width: number, height: number) => void;
onSendFirstLocalVideoFrame首帧本地视频数据已经被送出
onSendFirstLocalVideoFrame: (type: number)
onSendFirstLocalAudioFrame首帧本地音频数据已经被送出
onSendFirstLocalAudioFrame: ()
onStatistics音视频相关的度量指标统计回调
onStatistics: (jsonStats: string)
onScreenCaptureStarted当屏幕分享开始时,SDK 会通过此回调通知
onScreenCaptureStarted: ()
onScreenCaptureStoped当屏幕分享停止时,SDK 会通过此回调通知
onScreenCaptureStoped: (reason: number)
onLog日志打印回调
onLog: (log: string, level: number, module: string)
onUserVoiceVolume音量大小的反馈回调
onUserVoiceVolume: (userVolumes: BrtcVolumeInfo[], totalVolume: number) => void;
onSwitchRole切换角色回调
onSwitchRole: (errCode: number, errMsg: string) => void;
onNetworkQuality推拉流质量简单评价通知
onNetworkQuality: (jsonQualityArray: string) => void;
网络质量评价信息包括上行和下行的质量评价。给出的是 JSON 格式的字符串,内容是 JSON 数组。数组中的每个元素包括 userId 和 qualityLevel 两项信息。其中,网络质量从 0 ~ 6 分别代表:UNKNOWN(无信息)、EXCELLENT、GOOD、POOR、BAD、VBAD、DOWN。数字越大表明质量越糟糕。
userId
qualityLevel
onConnectionLostSDK 跟服务器的连接断开
onConnectionLost: () => void;
您收到这个回调后,通常情况下不需要进行额外的处理。因为 SDK 内部会自动发起重连并尝试进行恢复。
onTryToReconnectSDK 尝试重新连接到服务器
onTryToReconnect: () => void;
onConnectionRecoverySDK 跟服务器的连接恢复
onConnectionRecovery: () => void;
onSyncRoom重连后已经和服务器进行了信息同步完毕的事件通知
onSyncRoom: () => void;
onBliveEnterRoom互动直播模式下,进入互动直播房间的结果通知
onBliveEnterRoom: (result: number) => void;
onBliveExitRoom互动直播模式下,离开互动直播房间的结果通知
onBliveExitRoom: (reason: number) => void;
onBliveSwitchRole互动直播模式下的主播、观众角色切换结果通知
onBliveSwitchRole: (role: number) => void;
onBliveConnectionLost互动直播模式下,与互动直播服务器连接断开的通知
onBliveConnectionLost: () => void;
onBliveTryToReconnect互动直播模式下,尝试和服务器发起重连的通知
onBliveTryToReconnect: () => void;
onBliveConnectionRecovery互动直播模式下,和服务器连接已经恢复的通知
onBliveConnectionRecovery: () => void;
onMixStreamAdded互动直播模式下,房间内有新的混流产生事件通知
onMixStreamAdded: (streamId: string, streamProp: BrtcLiveMixStreamProperty) => void;
onMixStreamRemoved互动直播模式下,房间内有混流移除的事件通知
onMixStreamRemoved: (roomId: string, streamId: string, customData: string) => void;
onMixStreamUpdate互动直播模式下,房间内混流信息更新的事件通知
onMixStreamUpdate: (streamId: string, streamProp: BrtcLiveMixStreamProperty) => void;
onMixedNotification互动直播模式下,进房成功后,服务器下发当前混流信息
onMixedNotification: (streamId: string, customData: string) => void;
onBliveConflictLogin互动直播模式下,有其他用户使用了相同的UID进房,已在房用户收到的登录冲突通知
onBliveConflictLogin: () => void;
onStartTranscode互动直播模式下,主播发起混流请求后的结果通知
onStartTranscode: (streamId: string, errCode: number, errMsg: string) => void;
onStopTranscode 互动直播模式下,主播停止混流请求后的结果通知
onStopTranscode: (streamId: string, errCode: number, errMsg: string) => void;
HarmonyOS
BrtcListener 用于给 SDK 调用者返回 SDK 接口调用的执行结果、消息、内部工作状态等回调通知,方便 SDK 调用者结合具体的业务场景进行相应处理。
详细信息
onError
错误事件,表示 SDK 抛出的不可恢复的错误,比如进入房间失败或设备开启失败等。
参数
onEnterRoom
已加入房间的回调
参数
详情
onExitRoom
离开房间的事件回调
参数
详情
onRemoteUserEnterRoom
有用户加入当前房间
参数
详情
onRemoteUserLeaveRoom
有用户离开当前房间
参数
onUserVideoAvailable
远端用户是否存在可播放的主路画面(一般用于摄像头)
参数
详情
收到 onUserVideoAvailable(userid, true) 通知时,表示该路画面已经有可用的视频数据帧到达,此时,您需要调用 startRemoteView 接口加载该用户的远程画面。
收到 onUserVideoAvailable(userid, false) 通知时,表示该路远程画面已被关闭,可能由于您主动 mute 了该用户的视频,或者该用户关闭了自己的视频
onUserAudioAvailable
远端用户是否存在可播放的音频数据
参数
onUserSubStreamAvailable
端用户的辅流(通常是屏幕共享)的可用或不可用状态发生状态变化时通知
参数
详情
“辅路画面”一般被用于承载屏幕分享的画面。当您收到 onUserSubStreamAvailable(userId, true) 通知时,表示该路画面已经有可用的视频数据帧到达。您可以调用 startRemoteView 传入 BrtcVideoStreamTypeSub 类型来请求预览。
onFirstVideoFrameDecoded
远端用户的视频首帧解码完成通知
参数
onFirstAudioFrame
已接收到某个远端用户的音频首帧的回调
参数
onFirstVideoFrame
远端用户的视频首帧渲染的回调通知
参数
onSendFirstLocalVideoFrame
首帧本地视频数据已经被送出
参数
详情
onSendFirstLocalAudioFrame
首帧本地音频数据已经被送出
详情
onStatistics
音视频相关的度量指标统计回调
参数
详情
onScreenCaptureStarted
当屏幕分享开始时,SDK 会通过此回调通知
onScreenCaptureStoped
当屏幕分享停止时,SDK 会通过此回调通知
参数
0: 主动停止;
3: 共享被取消;
4: 共享被用户停止;
5: 共享被打断;
6: 共享因来电被终止
onLog
日志打印回调
参数
onUserVoiceVolume
音量大小的反馈回调
参数
详情
onSwitchRole
切换角色回调
参数
onNetworkQuality
推拉流质量简单评价通知
参数
详情
网络质量评价信息包括上行和下行的质量评价。给出的是 JSON 格式的字符串,内容是 JSON 数组。数组中的每个元素包括
userId
和qualityLevel
两项信息。其中,网络质量从 0 ~ 6 分别代表:UNKNOWN(无信息)、EXCELLENT、GOOD、POOR、BAD、VBAD、DOWN。数字越大表明质量越糟糕。onConnectionLost
SDK 跟服务器的连接断开
onTryToReconnect
SDK 尝试重新连接到服务器
onConnectionRecovery
SDK 跟服务器的连接恢复
onSyncRoom
重连后已经和服务器进行了信息同步完毕的事件通知
onBliveEnterRoom
互动直播模式下,进入互动直播房间的结果通知
参数
>0 表示进房成功,result的值是进房耗时(毫秒)
onBliveExitRoom
互动直播模式下,离开互动直播房间的结果通知
参数
onBliveSwitchRole
互动直播模式下的主播、观众角色切换结果通知
参数
onBliveConnectionLost
互动直播模式下,与互动直播服务器连接断开的通知
onBliveTryToReconnect
互动直播模式下,尝试和服务器发起重连的通知
onBliveConnectionRecovery
互动直播模式下,和服务器连接已经恢复的通知
onMixStreamAdded
互动直播模式下,房间内有新的混流产生事件通知
参数
onMixStreamRemoved
互动直播模式下,房间内有混流移除的事件通知
参数
onMixStreamUpdate
互动直播模式下,房间内混流信息更新的事件通知
参数
onMixedNotification
互动直播模式下,进房成功后,服务器下发当前混流信息
参数
onBliveConflictLogin
互动直播模式下,有其他用户使用了相同的UID进房,已在房用户收到的登录冲突通知
onStartTranscode
互动直播模式下,主播发起混流请求后的结果通知
参数
onStopTranscode 互动直播模式下,主播停止混流请求后的结果通知
参数