TKRoomManagerObserver接口
最近更新时间:2021-11-02 11:31:49
TKRoomManagerObserver
TKRoomManagerObserver 是 TKRoomSDK 关于房间的主要信令回调。
onRoomJoined
简要描述 - 成功进入房间的回调。调用joinRoom 或者 [joinRoomEx][] 接口进入房间,成功后会回调,失败则不会回调。
回调名称
- - (void)onRoomJoined()
onRoomLeaved
简要描述 - 离开房间的回调。调用 leaveRoom 接口离开房间会回调。
回调名称
- - (void)onRoomLeaved()
onConnectionLost
简要描述 - 掉线回调
回调名称
- - (void)onConnectionLost()
onError
简要描述 - SDK出现所有错误的回调(errorCode 非0)
回调名称
- - (void)onError(int errorCode, String errMsg)
参数
参数名 | 类型 | 说明 |
---|---|---|
errorCode | int | 错误码 |
errMsg | String | 错误信息 |
onWarning
简要描述 - SDK出现警告的回调
回调名称
- - (void)onWarning(int code)
参数
参数名 | 类型 | 说明 |
---|---|---|
code | int | 警告码 |
onUserJoined
简要描述 - 有用户进入房间时回调
回调名称
- - (void)onUserJoined(RoomUser user, boolean inList)
参数
参数名 | 类型 | 说明 |
---|---|---|
peerID | RoomUser | 用户信息 |
inList | boolean | true:表示该用户是在我之前进入房间,false:表示该用户是在我之后进入房间 |
onUserLeft
简要描述 - 有用户离开房间时回调
回调名称
- - (void)onUserLeft(RoomUser user)
参数
参数名 | 类型 | 说明 |
---|---|---|
user | RoomUser | 用户信息 |
onKickout
简要描述 - 我自己被踢出房间时回调
回调名称
- - (void)onKickout(RoomUser roomUser, String fromID, int reason, String desc, boolean reconnect)
参数
参数名 | 类型 | 说明 |
---|---|---|
roomUser | RoomUser | 被踢用户 |
fromID | String | 发出踢人操作人id |
reason | int | 被踢原因 |
desc | String | 被踢原因 |
onUserPropertyChanged
简要描述 - 用户的属性发生变化时回调
回调名称
1 |
|
参数
参数名 | 类型 | 说明 |
---|---|---|
user | RoomUser | 用户信息 |
changedProperties | Map | 被改变的用户属性 |
fromId | String | 表示修改该用户属性的用户ID |
onUserVideoStatus
简要描述 - 单流模式:用户视频状态变化时回调 多流模式:用户某一视频设备的视频状态变化回调 默认是:单流模式。移动端设备不支持开启多流模式,即不能发布多条视频流,但可以接受多条视频流
回调名称
1 2 3 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerID | String | 用户ID |
cameraId | String | 摄像头设备ID,如果该用户是有多摄像头,并且该用户开启了多流模式时,该参数有效 |
state | int | 视频状态 |
onUserAudioStatus
简要描述 - 用户音频状态变化时回调
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerID | String | 用户ID |
state | int | 音频状态 |
onRemotePubMsg
简要描述 - 当某用户发送了发布信令消息 pubMsg,若我是该信令的接受对象时,即可收到用户发布的自定义信令的回调
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
msgID | String | 信令ID |
msgName | String | 信令名 |
data | Object | 信令内容 |
fromID | String | 该信令的发送者ID |
associatedMsgId | String | 消息关联消息的id (该消息删除时会跟随删除) |
associatedUserId | String | 消息关联用户的id (该用户退出时会跟随删除) |
inlist | boolean | true:表示该信令是我进入房间前发布的,false:表示该信令是我进入房间后发布的 |
ts | long | 时间戳 |
onRemoteDelMsg
简要描述 - 当某用户发送了删除信令消息 delMsg,若我是该信令的接受对象时,即可收到用户发送的自定义信令的回调
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
msgID | String | 信令ID |
msgName | String | 信令名 |
data | Object | 信令内容 |
fromID | String | 该信令的发送者ID |
associatedMsgId | String | 消息关联消息的id (该消息删除时会跟随删除) |
associatedUserId | String | 消息关联用户的id (该用户退出时会跟随删除) |
inlist | boolean | true:表示该信令是我进入房间前发布的,false:表示该信令是我进入房间后发布的 |
ts | long | 时间戳 |
onMessageReceived
简要描述 - 收到用户发送的聊天消息回调,可以调用 sendMessage 接口发送聊天消息
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
message | JSONObject | 聊天消息内容 |
user | RoomUser | 发送者 |
ts | long | 时间戳 |
onRoomServerRecordStateChange
简要描述 - 录制回放时,录制状态的回调,可以调用 startServerRecord 接口开启服务器录制
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
state | TK_RECORD_STATE | 状态值 |
userId | String | 发送者ID |
params | Map | 若参数 state == TK_RecordState_Started 开始录制状态时,extension字典中返回本次录制的常规录制件ID和mp4录制件ID;params null |
onVideoStatsReport
简要描述 - 视频数据统计回调,1秒/次
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerId | String | 用户ID,表示视频数据是该用户的 |
statsReport | TkVideoStatsReport | 视频数据对象 |
onAudioStatsReport
简要描述 - 音频数据统计回调,1秒/次
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerId | String | 用户ID,表示音频数据是该用户的 |
statsReport | TkAudioStatsReport | 音频数据对象 |
onRtcStatsReport
简要描述 - 上行和下行的音视频数据统计回调,1秒/次
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
rtcStats | RtcStats | 音视频数据对象 |
onAudioVolume
简要描述 - 用户的音频音量大小变化的回调
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
peeID | String | 用户ID |
volume | int | 音量大小 |
onAudioRoomSwitch
简要描述 - 房间模式发送变化的回调,纯音频 与音视频 房间切换
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
fromId | String | 切换房间模式的用户ID,即信令发送者ID |
isSwitch | boolean | true:表示纯音频房间,false:表示音视频房间 |
onFirstVideoFrame
简要描述 - 播放某用户视频,渲染视频第一帧时,会收到回调;如果没有unplay某用户的视频,而再次play该用户视频时,不会再次收到此回调
单流模式:播放用户视频,渲染视频第一帧回调 多流模式:播放用户某一设备视频,渲染视频第一帧回调 默认是:单流模式。移动端设备不支持开启多流模式,即不能发布多条视频流,但可以接受多条视频流
回调名称
1 2 3 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerID | String | 用户ID |
cameraId | String | 摄像头设备ID,如果该用户是有多摄像头,并且该用户开启了多流模式时,该参数有效 |
width | int | 视频宽 |
height | int | 视频高 |
mediaType | int | 类型 |
onVideoStateChange
简要描述 - 播放用户视频过程中,视频状态变化的回调
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerID | String | 用户ID |
deviceId | NSString | 摄像头设备ID, 单流模式时为 null,多流模式时,该参数有效 |
state | TK_VIDEO_STATE | 状态 |
onAudioStateChange
简要描述 - 播放用户音频过程中,音频状态变化的回调
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerID | String | 用户ID |
state | TK_VIDEO_STATE | 状态 |
onFirstAudioFrame
简要描述 - 播放用户音视频时,收到第一帧音频数据的回调。如果没有unplay某用户的音频,而再次play该用户音频时,不会再次收到此回调。
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerID | String | 用户ID |
type | int | 类型 |
onShareMediaState
简要描述 - 某用户分享媒体流时,收到该媒体流状态变化的回调。 可调用 playMediaFile 接口播放该媒体流
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerId | String | 用户ID |
state | int | 状态 |
attrs | Map | 扩展信息 |
onUpdateAttributeStream
简要描述 - 用户分享媒体流时,收到媒体流信息的更新回调。 ⚠️注意:目前只有发起媒体流的人会收到
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerId | String | 用户ID |
pos | int | 当前进度 |
isPlay | boolean | 是否是播放的状态 |
onShareScreenState
简要描述 - 某用户桌面共享时,收到状态变化的回调 可调用 playScreen 接口播放该桌面共享的流
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerId | String | 用户ID |
state | int | 状态 |
onShareFileState
简要描述 - 某用户电影共享时,收到状态变化的回调 可调用 playFile 接口播放该电影文件共享的流
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
peerId | String | 用户ID |
state | int | 状态 |
TKMediaFrameObserver
TKMediaFrameObserver 是 本地媒体采集数据 和 远端媒体数据 的代理回调。 ⚠️注意:该部分回调函数均不是线程安全的。
onCaptureVideoFrame
简要描述 - 本地采集的视频数据的回调
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
frame | VideoFrame | 视频数据 |
peerId | String | 用户ID |
onCaptureAudioFrame
简要描述 - 本地采集的音频数据的回调
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
frame | TKAudioFrame | 音频数据 |
type | int | 状态 |
peerId | String | 用户ID |
onRenderAudioFrame
简要描述 - 收到远端的音频数据的回调
回调名称
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
frame | TKAudioFrame | 音频数据 |
type | int | 状态 |
peerId | String | 用户ID |
onRenderVideoFrame
简要描述 - 收到远端用户的视频数据的回调 or 收到远端用户的某一视频设备视频数据
回调名称
1 |
|
1 |
|
参数名 | 类型 | 说明 |
---|---|---|
frame | TKAudioFrame | 音频数据 |
type | int | 状态 |
peerId | String | 用户ID |
cameraId | String | 设备ID |