初始化和注册设置相关接口
最近更新时间: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
方法示例
返回值说明
setLogLevel
简要描述
- 设置SDK日志打印等级,日志会写入沙盒。
接口名称
- + (int)setLogLevel:(TKLogLevel)level logPath:(NSString * _Nullable)logPath debugToConsole:(BOOL)debug
参数
参数名 |
必填 |
类型 |
说明 |
level |
是 |
TKLogLevel |
日志等级 |
logPath |
否 |
NSString |
日志写入沙盒的路径; 默认路径为:Libary/Caches/TKSDKLogs |
debug |
是 |
BOOL |
控制台是否输出日志,YES:表示控制台会打印日志,NO:表示控制台不打印日志 |
方法示例
| - (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:表示调用失败 |
简要描述
- 设置音视频数据 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<TKRoomManagerDelegate,TKMediaFrameDelegate>
@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:表示调用失败 |
备注