BLiveDelegate 接口采用 Delegate 方法用于向 App 发送回调通知。
错误回调:SDK 不可恢复的错误,一定要监听,并分情况给用户适当的界面提示
- (void)onError:(int)errCode errMsg:(nullable NSString *)errMsg extInfo:(nullable NSDictionary*)extInfo;
参数
已加入房间的回调
- (void)onEnterRoom:(NSInteger)result;
返回
详情
离开房间的事件回调
- (void)onExitRoom:(NSInteger)reason;
切换角色的事件回调
- (void)onSwitchRole:(BLiveRoleType)role;
有用户加入当前房间
- (void)onRemoteUserEnterRoom:(NSString *)userId;
远端用户是否存在可播放的主路画面(一般用于摄像头)
- (void)onUserVideoAvailable:(NSString *)userId available:(BOOL)available;
远端用户是否存在可播放的音频数据
- (void)onUserAudioAvailable:(NSString *)userId available:(BOOL)available;
开始渲染本地或远程用户的首帧画面
- (void)onFirstVideoFrame:(NSString *)userId streamType:(BLiveVideoStreamType)streamType width:(int)width height:(int)height;
开始播放远程用户的首帧音频(本地声音暂不通知)
- (void)onFirstAudioFrame:(NSString *)userId;
首帧本地视频数据已经被送出
- (void)onSendFirstLocalVideoFrame:(BLiveVideoStreamType)streamType;
首帧本地音频数据已经被送出
- (void)onSendFirstLocalAudioFrame;
主播开始混流
- (void)onStartMixStreamTranscode:(NSString *)mixStreamID;;
主播停止混流
- (void)onStopMixStreamTranscode:(NSString *)mixStreamID;;
观众收到主播开始混流
- (void)onMixStreamAdded:(NSString *)mixStreamID mixStreamInfo:(nullable NSArray<BLiveMixStreamDefinitionInfo *> *)mixStreamInfo;
观众收到主播更新混流
- (void)onMixStreamUpdate:(NSString *)mixStreamID mixStreamInfo:(nullable NSArray<BLiveMixStreamDefinitionInfo *> *)mixStreamInfo;
观众收到主播停止混流
- (void)onMixStreamRemoved:(NSString *)mixStreamID mixStreamInfo:(nullable NSArray<BLiveMixStreamDefinitionInfo *> *)mixStreamInfo;
技术指标统计回调
- (void)onStatistics:(BLiveStatistics *_Nonnull)statistics;
用于提示音量大小的回调,包括每个 userId 的音量和远端总音量
- (void)onUserVoiceVolume:(NSArray<BLiveVolumeInfo *> *)userVolumes totalVolume:(NSInteger)totalVolume;
SDK 跟服务器的连接断开
- (void)onConnectionLost;
SDK 尝试重新连接到服务器
- (void)onTryToReconnect;
SDK 跟服务器的连接恢复
- (void)onConnectionRecovery;
收到自定义消息回调
- (void)onRecvCustomCmdMsgUserId:(NSString *)userId cmdID:(NSInteger)cmdID seq:(UInt32)seq message:(NSData *)message;
自定义消息丢失回调
- (void)onMissCustomCmdMsgUserId:(NSString *)userId cmdID:(NSInteger)cmdID errCode:(NSInteger)errCode missed:(NSInteger)missed;
收到 SEI 消息的回调
- (void)onRecvSEIMsg:(NSString *)userId message:(NSData *)message;
当屏幕分享开始时,SDK 会通过此回调通知
- (void)onScreenCaptureStarted;
当屏幕分享暂停时,SDK 会通过此回调通知
- (void)onScreenCapturePaused:(int)reason;
当屏幕分享恢复时,SDK 会通过此回调通知
- (void)onScreenCaptureResumed:(int)reason;
当屏幕分享停止时,SDK 会通过此回调通知
- (void)onScreenCaptureStoped:(int)reason;
有日志打印时的回调
- (void)onLog:(nullable NSString*)log LogLevel:(BLiveLogLevel)level WhichModule:(nullable NSString*)module;
iOS
BLiveDelegate 接口采用 Delegate 方法用于向 App 发送回调通知。
详细信息
错误回调:SDK 不可恢复的错误,一定要监听,并分情况给用户适当的界面提示
参数
已加入房间的回调
参数
返回
详情
离开房间的事件回调
参数
0:主动调用 exitRoom 退房
1:被服务器踢出当前房间
2:当前房间整个被解散
详情
切换角色的事件回调
参数
有用户加入当前房间
参数
详情
远端用户是否存在可播放的主路画面(一般用于摄像头)
参数
详情
远端用户是否存在可播放的音频数据
参数
开始渲染本地或远程用户的首帧画面
参数
详情
开始播放远程用户的首帧音频(本地声音暂不通知)
参数
首帧本地视频数据已经被送出
参数
详情
首帧本地音频数据已经被送出
详情
主播开始混流
参数
详情
主播停止混流
参数
详情
观众收到主播开始混流
详情
观众收到主播更新混流
详情
观众收到主播停止混流
详情
技术指标统计回调
参数
详情
用于提示音量大小的回调,包括每个 userId 的音量和远端总音量
参数
详情
SDK 跟服务器的连接断开
SDK 尝试重新连接到服务器
SDK 跟服务器的连接恢复
收到自定义消息回调
参数
详情
自定义消息丢失回调
参数
详情
收到 SEI 消息的回调
参数
详情
当屏幕分享开始时,SDK 会通过此回调通知
当屏幕分享暂停时,SDK 会通过此回调通知
参数
当屏幕分享恢复时,SDK 会通过此回调通知
参数
当屏幕分享停止时,SDK 会通过此回调通知
参数
有日志打印时的回调
参数