主代理回调
最近更新时间:2021-11-02 11:31:49
Notification
定制通知
属于特殊定制通知,可以不用监听。此通知的作用是获取进入教室的过程中,链接服务器的过程中,链路相关的统计信息。 可以在 NSNotification 的 userInfo 中获取相关信息,包括error和链路相关统计信息。
1、 TKRoomManagerJoinRoomSuccessNotification 调用SDK joinRoomWithHost 或者 joinRoomEx 接口进入房间,若成功,即可收到此通知。
2、 TKRoomManagerJoinRoomFailedNotification 调用SDK joinRoomWithHost 或者 joinRoomEx 接口进入房间,若失败,即可收到此通知。
3、 TKRoomManagerContinueCheckRoomNotification 调用SDK joinRoomWithHost 或者 joinRoomEx 接口进入房间,在进入的过程中,若需要进行设备检测(设备检测功能是房间配置项功能,需要在后台创建房间时设置),SDK会监听此通知,待SDK接收到此通知时(表示设备检测已完成),会继续进行进入房间的流程。 ⚠️注意:开启设备检测配置项功能时,需要在 initWithAppKey接口中 optional 传入 TKRoomSettingOptionalInteruptCheckRoom字段,并设置为 true,同时需在完成设备检测的时候,发送 TKRoomManagerContinueCheckRoomNotification 的通知,否则进入房间流程会停止。
TKRoomManagerDelegate 协议
TKRoomManagerDelegate 代理协议是 TKRoomSDK 关于房间的主要信令回调。
roomManagerRoomJoined
简要描述 - 成功进入房间的回调。调用joinRoomWithHost 或者 joinRoomEx 接口进入房间,成功后会回调,失败则不会回调。
回调名称
- - (void)roomManagerRoomJoined
roomManagerRoomLeft
简要描述 - 离开房间的回调。调用 leaveRoom 接口离开房间会回调。
回调名称
- - (void)roomManagerRoomLeft
roomManagerOnConnectionLost
简要描述 - 掉线回调
回调名称
- - (void)roomManagerOnConnectionLost
roomManagerDidOccuredError
简要描述 - SDK出现所有错误的回调
回调名称
- - (void)roomManagerDidOccuredError:(NSError *)error
参数
参数名 | 类型 | 说明 |
---|---|---|
error | NSError | 错误信息,其中错误码详情,请查看 TKRoomDefines.h 文件中的枚举值 TKRoomErrorCode |
roomManagerDidOccuredWaring
简要描述 - SDK出现警告的回调
回调名称
- - (void)roomManagerDidOccuredWaring:(TKRoomWarningCode)code
参数
参数名 | 类型 | 说明 |
---|---|---|
code | TKRoomWarningCode | 警告码,详情请查看 TKRoomDefines.h 文件中的枚举值 TKRoomWarningCode |
roomManagerUserJoined
简要描述 - 有用户进入房间时回调
回调名称
- - (void)roomManagerUserJoined:(NSString *)peerID inList:(BOOL)inList
参数
参数名 | 类型 | 说明 |
---|---|---|
peerID | NSString | 用户ID |
inList | BOOL | YES:表示该用户是在我之前进入房间,NO:表示该用户是在我之后进入房间 |
roomManagerUserLeft
简要描述 - 有用户离开房间时回调
回调名称
- - (void)roomManagerUserLeft:(NSString *)peerID
参数
参数名 | 类型 | 说明 |
---|---|---|
peerID | NSString | 用户ID |
roomManagerKickedOut
简要描述 - 我自己被踢出房间时回调
回调名称
- - (void)roomManagerKickedOut:(NSDictionary *)reason
参数
参数名 | 类型 | 说明 |
---|---|---|
reason | NSDictionary | 被踢原因 |
roomManagerUserPropertyChanged
简要描述 - 用户的属性发生变化时回调
回调名称
1 2 3 |
|
参数
参数名 | 类型 | 说明 |
---|---|---|
peerID | NSString | 用户ID |
properties | NSDictionary | 被改变的用户属性 |
fromId | NSString | 表示修改该用户属性的用户ID |
roomManagerOnUserVideoStatus
简要描述 - 单流模式:用户视频状态变化时回调 多流模式:用户某一视频设备的视频状态变化回调 默认是:单流模式。移动端设备不支持开启多流模式,即不能发布多条视频流,但可以接受多条视频流
回调名称
1 2 3 4 5 6 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerID | NSString | 用户ID |
deviceId | NSString | 摄像头设备ID,如果该用户是有多摄像头,并且该用户开启了多流模式时,该参数有效 |
state | TKMediaState | 视频状态,详情查看 TKRoomDefines.h 文件中的枚举值 |
roomManagerOnUserAudioStatus
简要描述 - 用户音频状态变化时回调
回调名称
1 2 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerID | NSString | 用户ID |
state | TKMediaState | 音频状态,详情查看 TKRoomDefines.h 文件中的枚举值 |
roomManagerOnRemotePubMsgWithMsgID
简要描述 - 当某用户发送了发布信令消息 pubMsg,若我是该信令的接受对象时,即可收到用户发布的自定义信令的回调
回调名称
1 2 3 4 5 6 |
|
参数名 | 类型 | 说明 |
---|---|---|
msgID | NSString | 信令ID |
msgName | NSString | 信令名 |
data | NSObject | 信令内容 |
fromID | NSString | 该信令的发送者ID |
inlist | BOOL | YES:表示该信令是我进入房间前发布的,NO:表示该信令是我进入房间后发布的 |
ts | long | 时间戳 |
roomManagerOnRemoteDelMsgWithMsgID
简要描述 - 当某用户发送了删除信令消息 delMsg,若我是该信令的接受对象时,即可收到用户发送的自定义信令的回调
回调名称
1 2 3 4 5 6 |
|
参数名 | 类型 | 说明 |
---|---|---|
msgID | NSString | 信令ID |
msgName | NSString | 信令名 |
data | NSObject | 信令内容 |
fromID | NSString | 该信令的发送者ID |
inlist | BOOL | YES:表示该信令是我进入房间前发布的,NO:表示该信令是我进入房间后发布的 |
ts | long | 时间戳 |
roomManagerMessageReceived
简要描述 - 收到用户发送的聊天消息回调,可以调用 sendMessage 接口发送聊天消息
回调名称
1 2 3 |
|
参数名 | 类型 | 说明 |
---|---|---|
message | NSString | 聊天消息内容 |
peerID | NSString | 发送者ID |
extension | NSDictionary | 扩展信息 |
roomManagerOnServerRecordStateChanged
简要描述 - 录制回放时,录制状态的回调,可以调用 startServerRecord 接口开启服务器录制
回调名称
1 2 3 |
|
参数名 | 类型 | 说明 |
---|---|---|
state | NSString | 状态值, 详情查看 TKRoomDefines.h 文件中的枚举值 |
peerID | NSString | 发送者ID |
extension | NSDictionary | 若参数 state == TKRecordState_Started 开始录制状态时,extension字典中返回本次录制的常规录制件ID和mp4录制件ID;extension可能 nil |
roomManagerOnVideoStatsReport
简要描述 - 视频数据统计回调,1次/秒
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerId | NSString | 用户ID,表示视频数据是该用户的 |
stats | TKVideoStats | 视频数据对象,详情查看 TKRoomDefines.h 文件中相关定义 |
roomManagerOnAudioStatsReport
简要描述 - 音频数据统计回调,1次/秒
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerId | NSString | 用户ID,表示音频数据是该用户的 |
stats | TKAudioStats | 音频数据对象,详情查看 TKRoomDefines.h 文件中相关定义 |
roomManagerOnRtcStatsReport
简要描述 - 上行和下行的音视频数据统计回调,1次/秒
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
stats | TKRtcStats | 音视频数据对象,详情查看 TKRoomDefines.h 文件中相关定义 |
roomManagerOnAudioVolumeWithPeerID
简要描述 - 用户的音频音量大小变化的回调
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
peeID | NSString | 用户ID |
volume | int | 音量大小 |
roomManagerOnAudioRoomSwitch
简要描述 - 房间模式发送变化的回调,纯音频 与音视频 房间切换
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
fromId | NSString | 切换房间模式的用户ID,即信令发送者ID |
onlyAudio | BOOL | YES:表示纯音频房间,NO:表示音视频房间 |
roomManagerOnFirstVideoFrameWithPeerID
简要描述 - 播放某用户视频,渲染视频第一帧时,会收到回调;如果没有unplay某用户的视频,而再次play该用户视频时,不会再次收到此回调
单流模式:播放用户视频,渲染视频第一帧回调 多流模式:播放用户某一设备视频,渲染视频第一帧回调 默认是:单流模式。移动端设备不支持开启多流模式,即不能发布多条视频流,但可以接受多条视频流
回调名称
1 2 3 4 5 6 7 8 9 10 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerID | NSString | 用户ID |
deviceId | NSString | 摄像头设备ID,如果该用户是有多摄像头,并且该用户开启了多流模式时,该参数有效 |
width | NSInteger | 视频宽 |
height | NSInteger | 视频高 |
type | TKMediaType | 类型, 详情查看 TKRoomDefines.h 文件中相关定义 |
roomManagerOnVideoStateChange
简要描述 - 播放用户视频过程中,视频状态变化的回调
回调名称
1 2 3 4 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerID | NSString | 用户ID |
deviceId | NSString | 摄像头设备ID, 单流模式时为 nil,多流模式时,该参数有效 |
state | TKRenderState | 状态, 详情查看 TKRoomDefines.h 文件中相关定义 |
type | TKMediaType | 类型, 详情查看 TKRoomDefines.h 文件中相关定义 |
roomManagerOnFirstAudioFrameWithPeerID
简要描述 - 播放用户音频过程中,音频状态变化的回调
回调名称
1 2 3 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerID | NSString | 用户ID |
state | TKRenderState | 状态, 详情查看 TKRoomDefines.h 文件中相关定义 |
type | TKMediaType | 类型, 详情查看 TKRoomDefines.h 文件中相关定义 |
roomManagerOnAudioStateChange
简要描述 - 播放用户音视频时,收到第一帧音频数据的回调。如果没有unplay某用户的音频,而再次play该用户音频时,不会再次收到此回调。
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerID | NSString | 用户ID |
type | TKMediaType | 类型, 详情查看 TKRoomDefines.h 文件中相关定义 |
roomManagerOnShareMediaState
简要描述 - 某用户分享媒体流时,收到该媒体流状态变化的回调。 可调用 playMediaFile 接口播放该媒体流
回调名称
1 2 3 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerId | NSString | 用户ID |
state | TKMediaState | 状态, 详情查看 TKRoomDefines.h 文件中相关定义 |
message | NSDictionary | 扩展信息 |
roomManagerUpdateMediaStream
简要描述 - 用户分享媒体流时,收到媒体流信息的更新回调。 ⚠️注意:目前只有发起媒体流的人会收到
回调名称
1 2 3 |
|
参数名 | 类型 | 说明 |
---|---|---|
duration | NSTimeInterval | 总时长 |
pos | NSTimeInterval | 当前进度 |
isPlay | BOOL | 是否是播放的状态 |
roomManagerMediaLoaded
简要描述 - 用户分享媒体流时,媒体流加载出第一帧画面时的回调 调用 playMediaFile 接口播放该媒体流后,加载出第一帧画面时的回调
回调名称
1 |
|
roomManagerOnShareScreenState
简要描述 - 某用户桌面共享时,收到状态变化的回调 可调用 playScreen 接口播放该桌面共享的流
回调名称
1 2 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerId | NSString | 用户ID |
state | TKMediaState | 状态, 详情查看 TKRoomDefines.h 文件中相关定义 |
roomManagerOnShareFileState
简要描述 - 某用户电影共享时,收到状态变化的回调 可调用 playFile 接口播放该电影文件共享的流
回调名称
1 2 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerId | NSString | 用户ID |
state | TKMediaState | 状态, 详情查看 TKRoomDefines.h 文件中相关定义 |
TKMediaFrameDelegate 协议
TKMediaFrameDelegate 代理协议是 本地媒体采集数据 和 远端媒体数据 的代理回调。 ⚠️注意:该部分回调函数均不是线程安全的。
onCaptureVideoFrame
简要描述 - 本地采集的视频数据的回调
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
frame | TKVideoFrame | 视频数据,详情查看 TKRoomDefines.h 文件中相关定义 |
type | TKMediaType | 状态, 详情查看 TKRoomDefines.h 文件中相关定义 |
onCaptureAudioFrame
简要描述 - 本地采集的音频数据的回调
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
frame | TKAudioFrame | 音频数据,详情查看 TKRoomDefines.h 文件中相关定义 |
type | TKMediaType | 状态, 详情查看 TKRoomDefines.h 文件中相关定义 |
onRenderAudioFrame
简要描述 - 收到远端的音频数据的回调
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
frame | TKAudioFrame | 音频数据,详情查看 TKRoomDefines.h 文件中相关定义 |
peerId | NSString | 用户ID |
type | TKMediaType | 状态, 详情查看 TKRoomDefines.h 文件中相关定义 |
onRenderVideoFrame
简要描述 - 收到远端用户的视频数据的回调 or 收到远端用户的某一视频设备视频数据
回调名称
1 2 3 |
|
1 2 3 4 |
|
参数名 | 类型 | 说明 |
---|---|---|
frame | TKVideoFrame | 音频数据,详情查看 TKRoomDefines.h 文件中相关定义 |
peerId | NSString | 用户ID |
deviceId | NSString | 设备ID |
type | TKMediaType | 状态, 详情查看 TKRoomDefines.h 文件中相关定义 |