连接状态管理 编辑文档

功能描述

该章描述加入房间相关的状态变化。

接口描述

@protocol QttChannelEngineDelegate <NSObject>
@optional
/**
* 自己加入成功,实现加入频道成功的逻辑
* @param channelName 频道名字
* @param uid 用户id。如果用户加入频道前没有设置id,这位服务器自动分配的id
* @param role 加入频道的角色。TALKER表示主播,可说可听;AUDIENCE表示听众,只能听不能说
* @param muted 加入频道的静音状态。0表示未静音,1表示静音
*/
- (void)onJoinSuccess:(NSString*)channelName uid:(NSUInteger)uid role:(QttChannelRole)role muted:(bool)muted;

/**
* 自己重新加入频道成功
* @param channelName 频道名字
* @param uid 用户id。
* @param role 重新加入频道的角色。TALKER表示主播,可说可听;AUDIENCE表示听众,只能听不能说
* @param muted 重新加入频道的静音状态。0表示未静音,1表示静音
*/
- (void)onReJoinSuccess:(NSString*)channelName uid:(NSUInteger)uid role:(QttChannelRole)role muted:(bool)muted;

/**
* 自己加入失败,实现加入频道失败的逻辑
* @param code 失败状态
* @param message 失败信息
*/
- (void)onJoinFail:(int)code message:(NSString*)message;

/**
* 网络打断
*/
- (void)onConnectionBreak;

/**
* 网络失去连接
*/
- (void)onConnectionLost;

/**
* 运行过程中的警告信息,通常是网络或者音频设备相关的。一般情况下应用可以忽略,SDK会自己尝试恢复。
* @param warn 警告码
* @param message 警告描述
*/
- (void)onWarning:(int)warn message:(NSString*)message;

/**
* 运行过程中的错误信息,SDK无法自行恢复。一般情况下应用需要提示用户并进行对应的处理。
* @param err 错误码
* @param message 错误描述
*/
- (void)onError:(int)err message:(NSString*)message;

/**
* 实现退出频道的逻辑
*/
- (void)onLeave;

@end

示例代码

@interface QttChannelEngineDelegateImpl : NSObject<QttChannelEngineDelegate>
- (void)onJoinSuccess:(NSString*)channelName uid:(NSUInteger)uid role:(QttChannelRole)role muted:(bool)muted;
- (void)onReJoinSuccess:(NSString*)channelName uid:(NSUInteger)uid role:(QttChannelRole)role muted:(bool)muted;
- (void)onJoinFail:(int)code message:(NSString*)message;
- (void)onConnectionBreak;
- (void)onConnectionLost;
- (void)onWarning:(int)warn message:(NSString*)message;
- (void)onError:(int)err message:(NSString*)message;
- (void)onLeave;
@end

@implementation QttChannelEngineDelegateImpl
- (void)onJoinSuccess:(NSString*)channelName uid:(NSUInteger)uid role:(QttChannelRole)role muted:(bool)muted {
//自己加入成功,实现加入频道成功的逻辑
}
- (void)onReJoinSuccess:(NSString*)channelName uid:(NSUInteger)uid role:(QttChannelRole)role muted:(bool)muted {
//自己重新加入频道成功,实现重新加入频道成功的逻辑
}
- (void)onJoinFail:(int)code message:(NSString*)message {
//自己加入失败,实现加入频道失败的逻辑
}
- (void)onConnectionBreak {
//实现网络打断的逻辑
}
- (void)onConnectionLost {
//实现网络失去连接的逻辑
}
- (void)onWarning:(int)warn message:(NSString*)message {
//实现处理警告信息的逻辑
}
- (void)onError:(int)err message:(NSString*)message {
//实现处理错误信息的逻辑
}
-(void)onLeave {
//退出频道逻辑
}

@end

id<QttChannelEngineDelegate> delegate = [[QttChannelEngineDelegateImpl alloc] init];
QttChannelEngine* engine = [QttChannelEngine GetEngineInstance:@"your AppKey" delegate:delegate];
野狗新手?
立即注册,为你提供安全可靠的实时通信云服务。
没找到需要的文档?
你可以提交工单反馈 或 阅读常见问题