跳转至

主代理回调

最近更新时间:2021-11-02 11:31:49

Notification

定制通知

属于特殊定制通知,可以不用监听。此通知的作用是获取进入教室的过程中,链接服务器的过程中,链路相关的统计信息。 可以在 NSNotificationuserInfo 中获取相关信息,包括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
 - (void)roomManagerUserPropertyChanged:(NSString *)peerID
                                                properties:(NSDictionary*)properties
                                                      fromId:(NSString *)fromId

参数

参数名 类型 说明
peerID NSString 用户ID
properties NSDictionary 被改变的用户属性
fromId NSString 表示修改该用户属性的用户ID

roomManagerOnUserVideoStatus

简要描述
- 单流模式:用户视频状态变化时回调
多流模式:用户某一视频设备的视频状态变化回调
默认是:单流模式。移动端设备不支持开启多流模式,即不能发布多条视频流,但可以接受多条视频流

回调名称

1
2
3
4
5
6
- (void)roomManagerOnUserVideoStatus:(NSString *)peerID
                                                   state:(TKMediaState)state

- (void)roomManagerOnUserVideoStatus:(NSString *)peerID
                                              deviceId:(NSString *)deviceId
                                                state:(TKMediaState)state;
参数

参数名 类型 说明
peerID NSString 用户ID
deviceId NSString 摄像头设备ID,如果该用户是有多摄像头,并且该用户开启了多流模式时,该参数有效
state TKMediaState 视频状态,详情查看 TKRoomDefines.h 文件中的枚举值

roomManagerOnUserAudioStatus

简要描述 - 用户音频状态变化时回调

回调名称

1
2
- (void)roomManagerOnUserAudioStatus:(NSString *)peerID
                                                 state:(TKMediaState)state
参数

参数名 类型 说明
peerID NSString 用户ID
state TKMediaState 音频状态,详情查看 TKRoomDefines.h 文件中的枚举值

roomManagerOnRemotePubMsgWithMsgID

简要描述
- 当某用户发送了发布信令消息 pubMsg,若我是该信令的接受对象时,即可收到用户发布的自定义信令的回调

回调名称

1
2
3
4
5
6
- (void)roomManagerOnRemotePubMsgWithMsgID:(NSString *)msgID
                                                       msgName:(NSString *)msgName
                                                                data:(NSObject *)data
                                                               fromID:(NSString *)fromID
                                                                 inList:(BOOL)inlist
                                                                       ts:(long)ts
参数

参数名 类型 说明
msgID NSString 信令ID
msgName NSString 信令名
data NSObject 信令内容
fromID NSString 该信令的发送者ID
inlist BOOL YES:表示该信令是我进入房间前发布的,NO:表示该信令是我进入房间后发布的
ts long 时间戳

roomManagerOnRemoteDelMsgWithMsgID

简要描述
- 当某用户发送了删除信令消息 delMsg,若我是该信令的接受对象时,即可收到用户发送的自定义信令的回调

回调名称

1
2
3
4
5
6
- (void)roomManagerOnRemoteDelMsgWithMsgID:(NSString *)msgID
                                                      msgName:(NSString *)msgName
                                                               data:(NSObject *)data
                                                              fromID:(NSString *)fromID 
                                                                inList:(BOOL)inlist
                                                                      ts:(long)ts
参数

参数名 类型 说明
msgID NSString 信令ID
msgName NSString 信令名
data NSObject 信令内容
fromID NSString 该信令的发送者ID
inlist BOOL YES:表示该信令是我进入房间前发布的,NO:表示该信令是我进入房间后发布的
ts long 时间戳

roomManagerMessageReceived

简要描述
- 收到用户发送的聊天消息回调,可以调用 sendMessage 接口发送聊天消息

回调名称

1
2
3
- (void)roomManagerMessageReceived:(NSString *)message
                                              fromID:(NSString *)peerID
                                         extension:(NSDictionary *)extension
参数

参数名 类型 说明
message NSString 聊天消息内容
peerID NSString 发送者ID
extension NSDictionary 扩展信息

roomManagerOnServerRecordStateChanged

简要描述
- 录制回放时,录制状态的回调,可以调用 startServerRecord 接口开启服务器录制

回调名称

1
2
3
- (void)roomManagerOnServerRecordStateChanged:(TKRecordState)state
                                                              fromID:(NSString *)peerID
                                                             extension:(NSDictionary *)extension
参数

参数名 类型 说明
state NSString 状态值, 详情查看 TKRoomDefines.h 文件中的枚举值
peerID NSString 发送者ID
extension NSDictionary 若参数 state == TKRecordState_Started 开始录制状态时,extension字典中返回本次录制的常规录制件ID和mp4录制件ID;extension可能 nil

roomManagerOnVideoStatsReport

简要描述
- 视频数据统计回调,1次/秒

回调名称

1
- (void)roomManagerOnVideoStatsReport:(NSString *)peerId stats:(TKVideoStats *)stats
参数

参数名 类型 说明
peerId NSString 用户ID,表示视频数据是该用户的
stats TKVideoStats 视频数据对象,详情查看 TKRoomDefines.h 文件中相关定义

roomManagerOnAudioStatsReport

简要描述
- 音频数据统计回调,1次/秒

回调名称

1
- (void)roomManagerOnAudioStatsReport:(NSString *)peerId stats:(TKAudioStats *)stats
参数

参数名 类型 说明
peerId NSString 用户ID,表示音频数据是该用户的
stats TKAudioStats 音频数据对象,详情查看 TKRoomDefines.h 文件中相关定义

roomManagerOnRtcStatsReport

简要描述
- 上行和下行的音视频数据统计回调,1次/秒

回调名称

1
- (void)roomManagerOnRtcStatsReport:(TKRtcStats *)stats
参数

参数名 类型 说明
stats TKRtcStats 音视频数据对象,详情查看 TKRoomDefines.h 文件中相关定义

roomManagerOnAudioVolumeWithPeerID

简要描述
- 用户的音频音量大小变化的回调

回调名称

1
- (void)roomManagerOnAudioVolumeWithPeerID:(NSString *)peeID volume:(int)volume
参数

参数名 类型 说明
peeID NSString 用户ID
volume int 音量大小

roomManagerOnAudioRoomSwitch

简要描述
- 房间模式发送变化的回调,纯音频 与音视频 房间切换

回调名称

1
- (void)roomManagerOnAudioRoomSwitch:(NSString *)fromId onlyAudio:(BOOL)onlyAudio
参数

参数名 类型 说明
fromId NSString 切换房间模式的用户ID,即信令发送者ID
onlyAudio BOOL YES:表示纯音频房间,NO:表示音视频房间

roomManagerOnFirstVideoFrameWithPeerID

简要描述
- 播放某用户视频,渲染视频第一帧时,会收到回调;如果没有unplay某用户的视频,而再次play该用户视频时,不会再次收到此回调

单流模式:播放用户视频,渲染视频第一帧回调
多流模式:播放用户某一设备视频,渲染视频第一帧回调
默认是:单流模式。移动端设备不支持开启多流模式,即不能发布多条视频流,但可以接受多条视频流

回调名称

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
- (void)roomManagerOnFirstVideoFrameWithPeerID:(NSString *)peerID
                                                                  width:(NSInteger)width
                                                                  height:(NSInteger)height
                                                          mediaType:(TKMediaType)type

- (void)roomManagerOnFirstVideoFrameWithPeerID:(NSString *)peerID
                                                             deviceId:(NSString *)deviceId
                                                                  width:(NSInteger)width
                                                                  height:(NSInteger)height
                                                          mediaType:(TKMediaType)type
参数

参数名 类型 说明
peerID NSString 用户ID
deviceId NSString 摄像头设备ID,如果该用户是有多摄像头,并且该用户开启了多流模式时,该参数有效
width NSInteger 视频宽
height NSInteger 视频高
type TKMediaType 类型, 详情查看 TKRoomDefines.h 文件中相关定义

roomManagerOnVideoStateChange

简要描述 - 播放用户视频过程中,视频状态变化的回调

回调名称

1
2
3
4
- (void)roomManagerOnVideoStateChange:(NSString *)peerId
                                                deviceId:(NSString *)deviceId
                                           videoState:(TKRenderState)state
                                              mediaType:(TKMediaType)type
参数

参数名 类型 说明
peerID NSString 用户ID
deviceId NSString 摄像头设备ID, 单流模式时为 nil,多流模式时,该参数有效
state TKRenderState 状态, 详情查看 TKRoomDefines.h 文件中相关定义
type TKMediaType 类型, 详情查看 TKRoomDefines.h 文件中相关定义

roomManagerOnFirstAudioFrameWithPeerID

简要描述
- 播放用户音频过程中,音频状态变化的回调

回调名称

1
2
3
- (void)roomManagerOnAudioStateChange:(NSString *)peerId
                                           audioState:(TKRenderState)state
                                              mediaType:(TKMediaType)type
参数

参数名 类型 说明
peerID NSString 用户ID
state TKRenderState 状态, 详情查看 TKRoomDefines.h 文件中相关定义
type TKMediaType 类型, 详情查看 TKRoomDefines.h 文件中相关定义

roomManagerOnAudioStateChange

简要描述
- 播放用户音视频时,收到第一帧音频数据的回调。如果没有unplay某用户的音频,而再次play该用户音频时,不会再次收到此回调。

回调名称

1
- (void)roomManagerOnFirstAudioFrameWithPeerID:(NSString *)peerID mediaType:(TKMediaType)type;
参数

参数名 类型 说明
peerID NSString 用户ID
type TKMediaType 类型, 详情查看 TKRoomDefines.h 文件中相关定义

roomManagerOnShareMediaState

简要描述
- 某用户分享媒体流时,收到该媒体流状态变化的回调。 可调用 playMediaFile 接口播放该媒体流

回调名称

1
2
3
- (void)roomManagerOnShareMediaState:(NSString *)peerId
                                                    state:(TKMediaState)state
                                 extensionMessage:(NSDictionary *)message;
参数

参数名 类型 说明
peerId NSString 用户ID
state TKMediaState 状态, 详情查看 TKRoomDefines.h 文件中相关定义
message NSDictionary 扩展信息

roomManagerUpdateMediaStream

简要描述
- 用户分享媒体流时,收到媒体流信息的更新回调。 ⚠️注意:目前只有发起媒体流的人会收到

回调名称

1
2
3
- (void)roomManagerUpdateMediaStream:(NSTimeInterval)duration
                                                        pos:(NSTimeInterval)pos
                                                    isPlay:(BOOL)isPlay;
参数

参数名 类型 说明
duration NSTimeInterval 总时长
pos NSTimeInterval 当前进度
isPlay BOOL 是否是播放的状态

roomManagerMediaLoaded

简要描述
- 用户分享媒体流时,媒体流加载出第一帧画面时的回调
调用 playMediaFile 接口播放该媒体流后,加载出第一帧画面时的回调

回调名称

1
- (void)roomManagerMediaLoaded;
参数

roomManagerOnShareScreenState

简要描述
- 某用户桌面共享时,收到状态变化的回调 可调用 playScreen 接口播放该桌面共享的流

回调名称

1
2
- (void)roomManagerOnShareScreenState:(NSString *)peerId
                                state:(TKMediaState)state;
参数

参数名 类型 说明
peerId NSString 用户ID
state TKMediaState 状态, 详情查看 TKRoomDefines.h 文件中相关定义

roomManagerOnShareFileState

简要描述
- 某用户电影共享时,收到状态变化的回调 可调用 playFile 接口播放该电影文件共享的流

回调名称

1
2
- (void)roomManagerOnShareScreenState:(NSString *)peerId
                                state:(TKMediaState)state;
参数

参数名 类型 说明
peerId NSString 用户ID
state TKMediaState 状态, 详情查看 TKRoomDefines.h 文件中相关定义

TKMediaFrameDelegate 协议

TKMediaFrameDelegate 代理协议是 本地媒体采集数据远端媒体数据 的代理回调。
⚠️注意:该部分回调函数均不是线程安全的。

onCaptureVideoFrame

简要描述
- 本地采集的视频数据的回调

回调名称

1
- (void)onCaptureVideoFrame:(TKVideoFrame *)frame sourceType:(TKMediaType)type;
参数

参数名 类型 说明
frame TKVideoFrame 视频数据,详情查看 TKRoomDefines.h 文件中相关定义
type TKMediaType 状态, 详情查看 TKRoomDefines.h 文件中相关定义

onCaptureAudioFrame

简要描述
- 本地采集的音频数据的回调

回调名称

1
- (void)onCaptureAudioFrame:(TKAudioFrame *)frame sourceType:(TKMediaType)type;
参数

参数名 类型 说明
frame TKAudioFrame 音频数据,详情查看 TKRoomDefines.h 文件中相关定义
type TKMediaType 状态, 详情查看 TKRoomDefines.h 文件中相关定义

onRenderAudioFrame

简要描述
- 收到远端的音频数据的回调

回调名称

1
- (void)onRenderAudioFrame:(TKAudioFrame *)frame uid:(NSString *)peerId sourceType:(TKMediaType)type;
参数

参数名 类型 说明
frame TKAudioFrame 音频数据,详情查看 TKRoomDefines.h 文件中相关定义
peerId NSString 用户ID
type TKMediaType 状态, 详情查看 TKRoomDefines.h 文件中相关定义

onRenderVideoFrame

简要描述
- 收到远端用户的视频数据的回调 or 收到远端用户的某一视频设备视频数据

回调名称

1
2
3
- (void)onRenderVideoFrame:(TKVideoFrame *)frame 
                                      uid:(NSString *)peerId 
                          sourceType:(TKMediaType)type;
or
1
2
3
4
- (void)onRenderVideoFrame:(TKVideoFrame *)frame 
                                      uid:(NSString *)peerId 
                              deviceId:(NSString *)deviceId 
                          sourceType:(TKMediaType)type;
参数

参数名 类型 说明
frame TKVideoFrame 音频数据,详情查看 TKRoomDefines.h 文件中相关定义
peerId NSString 用户ID
deviceId NSString 设备ID
type TKMediaType 状态, 详情查看 TKRoomDefines.h 文件中相关定义

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