跳转至

初始化和注册设置相关接口

最近更新时间:2022-01-25 14:39:47 星期二

instance

简要描述
- 创建一个 TKRoomManager 单例对象,必须通过此接口创建对象

接口名称
- + (instancetype)instance

方法示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
@interface RoomController : NSObject
@property (strong, nonatomic) TKRoomManager *roomMgr;
@end

@implementation RoomController
- (instancetype)init {
    self = [super init];
    if (self) {
        _roomMgr = [TKRoomManager instance];
    }
    return self;
}
@end
返回值说明

类型 说明
instancetype TKRoomManager类型的实例对象

destory

简要描述
- 销毁 TKRoomManager 单例对象,必须调用此接口

接口名称
- + (void)destory

方法示例

1
[TKRoomManager destory];
返回值说明

类型 说明

setLogLevel

简要描述
- 设置SDK日志打印等级,日志会写入沙盒。

接口名称
- + (int)setLogLevel:(TKLogLevel)level logPath:(NSString * _Nullable)logPath debugToConsole:(BOOL)debug

参数

参数名 必填 类型 说明
level TKLogLevel 日志等级
logPath NSString 日志写入沙盒的路径; 默认路径为:Libary/Caches/TKSDKLogs
debug BOOL 控制台是否输出日志,YES:表示控制台会打印日志,NO:表示控制台不打印日志

方法示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
- (instancetype)init {
    self = [super init];
    if (self) {
        _roomMgr = [TKRoomManager instance];
        NSArray *cachesPathArr = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
        NSString *cachesPath = cachesPathArr.firstObject;
        NSString *logPath = [cachesPath stringByAppendingPathComponent:@"logs"];
        [TKRoomManager setLogLevel:TKLogLevelInfo logPath:logPath debugToConsole:YES];
    }
    return self;
}
返回值说明

类型 说明
int 0:表示调用成功,非0:表示调用失败

initWithAppKey

简要描述
- 设置AppID,需要调用此接口初始化房间信息 1. 使用 authKey 方式进入房间,需要传入 appKey,可在企业后台中查找appKey值 2. 使用 token 方式进入教室,需要在 optional 中传入 TKRoomSettingOptionalCompanyDomain字段(公司域名)

接口名称
- - (int)initWithAppKey:(NSString *)appKey optional:(NSDictionary * _Nullable)optional

参数

参数名 必填 类型 说明
appKey NSString 企业Key值
optional NSDictionary 房间扩展信息,可根据自身的需求,在 TKRoomDefines.h 文件中查看 init初始化 定义的相关设置字段

方法示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
- (instancetype)init {
    self = [super init];
    if (self) {
        _roomMgr = [TKRoomManager instance];
        NSArray *cachesPathArr = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
        NSString *cachesPath = cachesPathArr.firstObject;
        NSString *logPath = [cachesPath stringByAppendingPathComponent:@"logs"];
        [TKRoomManager setLogLevel:TKLogLevelInfo logPath:logPath debugToConsole:YES];
                // authKey  方式进房间
        [_roomMgr initWithAppKey:kAppkey optional:@{TKRoomSettingOptionalSecureSocket:@(YES),
                                                TKRoomSettingOptionalPrivatePort : @(443),
                                                TKRoomSettingOptionalWhiteBoardNotify: @(NO)
                                                }];
        // token 方式进房间
        [_roomMgr initWithAppKey:kAppkey optional:@{TKRoomSettingOptionalSecureSocket:@(YES),
                                                TKRoomSettingOptionalPrivatePort : @(443),
                                                TKRoomSettingOptionalWhiteBoardNotify: @(NO)
                                                TKRoomSettingOptionalCompanyDomain : @"companyDomain"
                                                }];
    }
    return self;
}
返回值说明

类型 说明
int 0:表示调用成功,非0:表示调用失败

registerRoomManagerDelegate

简要描述
- 注册房间 TKRoomManagerDelegate 代理,用以接受房间信息回调。

接口名称
- - (int)registerRoomManagerDelegate:(id<TKRoomManagerDelegate> _Nullable)roomDelegate

参数

参数名 必填 类型 说明
roomDelegate id 实现 TKRoomManagerDelegate 代理的对象

方法示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@interface RoomController : NSObject<TKRoomManagerDelegate>
@property (strong, nonatomic) TKRoomManager *roomMgr;
@end

@implementation RoomController
- (instancetype)init {
    self = [super init];
    if (self) {
        _roomMgr = [TKRoomManager instance];
        NSArray *cachesPathArr = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
        NSString *cachesPath = cachesPathArr.firstObject;
        NSString *logPath = [cachesPath stringByAppendingPathComponent:@"logs"];
        [TKRoomManager setLogLevel:TKLogLevelInfo logPath:logPath debugToConsole:YES];
                // authKey  方式进房间
        [_roomMgr initWithAppKey:kAppkey optional:@{TKRoomSettingOptionalSecureSocket:@(YES),
                                                TKRoomSettingOptionalPrivatePort : @(443),
                                                TKRoomSettingOptionalWhiteBoardNotify: @(NO)
                                                }];
        // token 方式进房间
        [_roomMgr initWithAppKey:kAppkey optional:@{TKRoomSettingOptionalSecureSocket:@(YES),
                                                TKRoomSettingOptionalPrivatePort : @(443),
                                                TKRoomSettingOptionalWhiteBoardNotify: @(NO)
                                                TKRoomSettingOptionalCompanyDomain : @"companyDomain"
                                                }];
        [_roomMgr registerRoomManagerDelegate:self];
    }
    return self;
}
@end
返回值说明

类型 说明
int 0:表示调用成功,非0:表示调用失败

registerMediaDelegate

简要描述
- 设置音视频数据 TKMediaFrameDelegate 的代理,可以接受到本地和远端音视频数据的回调。

接口名称
- - (int)registerMediaDelegate:(id<TKMediaFrameDelegate> _Nullable)mediaDelegate

参数

参数名 必填 类型 说明
mediaDelegate id 实现了TKMediaFrameDelegate代理的对象

方法示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@interface RoomController : NSObject<TKRoomManagerDelegateTKMediaFrameDelegate>
@property (strong, nonatomic) TKRoomManager *roomMgr;
@end

@implementation RoomController
- (instancetype)init {
    self = [super init];
    if (self) {
        _roomMgr = [TKRoomManager instance];
        NSArray *cachesPathArr = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
        NSString *cachesPath = cachesPathArr.firstObject;
        NSString *logPath = [cachesPath stringByAppendingPathComponent:@"logs"];
        [TKRoomManager setLogLevel:TKLogLevelInfo logPath:logPath debugToConsole:YES];
        // authKey  方式进房间
        [_roomMgr initWithAppKey:kAppkey optional:@{TKRoomSettingOptionalSecureSocket:@(YES),
                                                TKRoomSettingOptionalPrivatePort : @(443),
                                                TKRoomSettingOptionalWhiteBoardNotify: @(NO)
                                                }];
        // token 方式进房间
        [_roomMgr initWithAppKey:kAppkey optional:@{TKRoomSettingOptionalSecureSocket:@(YES),
                                                TKRoomSettingOptionalPrivatePort : @(443),
                                                TKRoomSettingOptionalWhiteBoardNotify: @(NO)
                                                TKRoomSettingOptionalCompanyDomain : @"companyDomain"
                                                }];
        [_roomMgr registerRoomManagerDelegate:self];
        [_roomMgr registerMediaDelegate:self];
    }
    return self;
}
返回值说明

类型 说明
int 0:表示调用成功,1:表示调用失败

备注

© 2016-2023 北京拓课网络科技有限公司 版权所有  京ICP备17018423号-1 京公网安备11010502043461号