跳转至

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
 - (void)onUserPropertyChanged(RoomUser user, Map<String, Object> changedProperties, String fromId)

参数

参数名 类型 说明
user RoomUser 用户信息
changedProperties Map 被改变的用户属性
fromId String 表示修改该用户属性的用户ID

onUserVideoStatus

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

回调名称

1
2
3
- (void)onUserVideoStatus(String peerID, int state)

- (void)onUserVideoStatus(String peerID, int state, String cameraId)
参数

参数名 类型 说明
peerID String 用户ID
cameraId String 摄像头设备ID,如果该用户是有多摄像头,并且该用户开启了多流模式时,该参数有效
state int 视频状态

onUserAudioStatus

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

回调名称

1
- (void)onUserAudioStatus(String peerID, int state)
参数

参数名 类型 说明
peerID String 用户ID
state int 音频状态

onRemotePubMsg

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

回调名称

1
- (void)onRemotePubMsg(String msgID, String msgName, long ts, Object data, boolean inList, String fromId, String associatedMsgId, String associatedUserId);
参数

参数名 类型 说明
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
- (void)onRemoteDelMsg(String msgID, String msgName, long ts, Object data, boolean inList, String fromId, String associatedMsgId, String associatedUserId);
参数

参数名 类型 说明
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
- (void)onMessageReceived(RoomUser user, JSONObject message, long ts)
参数

参数名 类型 说明
message JSONObject 聊天消息内容
user RoomUser 发送者
ts long 时间戳

onRoomServerRecordStateChange

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

回调名称

1
- (void)onRoomServerRecordStateChange(TK_RECORD_STATE state, String userId, HashMap<String, Object> params)
参数

参数名 类型 说明
state TK_RECORD_STATE 状态值
userId String 发送者ID
params Map 若参数 state == TK_RecordState_Started 开始录制状态时,extension字典中返回本次录制的常规录制件ID和mp4录制件ID;params null

onVideoStatsReport

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

回调名称

1
- (void)onVideoStatsReport(String peerId, TkVideoStatsReport statsReport)
参数

参数名 类型 说明
peerId String 用户ID,表示视频数据是该用户的
statsReport TkVideoStatsReport 视频数据对象

onAudioStatsReport

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

回调名称

1
- (void)onAudioStatsReport(String peerId, TkAudioStatsReport statsReport)
参数

参数名 类型 说明
peerId String 用户ID,表示音频数据是该用户的
statsReport TkAudioStatsReport 音频数据对象

onRtcStatsReport

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

回调名称

1
- (void)onRtcStatsReport(RtcStats rtcStats)
参数

参数名 类型 说明
rtcStats RtcStats 音视频数据对象

onAudioVolume

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

回调名称

1
- (void)onAudioVolume(String peerId, int volume)
参数

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

onAudioRoomSwitch

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

回调名称

1
- (void)onAudioRoomSwitch(String fromId, boolean isSwitch)
参数

参数名 类型 说明
fromId String 切换房间模式的用户ID,即信令发送者ID
isSwitch boolean true:表示纯音频房间,false:表示音视频房间

onFirstVideoFrame

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

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

回调名称

1
2
3
- (void)onFirstVideoFrame(String peerId, int mediaType, int width, int height)

- (void)onFirstVideoFrame(String peerId, int mediaType, int width, int height, String cameraId)
参数

参数名 类型 说明
peerID String 用户ID
cameraId String 摄像头设备ID,如果该用户是有多摄像头,并且该用户开启了多流模式时,该参数有效
width int 视频宽
height int 视频高
mediaType int 类型

onVideoStateChange

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

回调名称

1
- (void)(String peerId, String deviceId, TK_VIDEO_STATE state)
参数

参数名 类型 说明
peerID String 用户ID
deviceId NSString 摄像头设备ID, 单流模式时为 null,多流模式时,该参数有效
state TK_VIDEO_STATE 状态

onAudioStateChange

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

回调名称

1
- (void)onAudioStateChange(String peerId, TK_AUDIO_STATE state)
参数

参数名 类型 说明
peerID String 用户ID
state TK_VIDEO_STATE 状态

onFirstAudioFrame

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

回调名称

1
- (void)onFirstAudioFrame(String peerId, int mediaType)
参数

参数名 类型 说明
peerID String 用户ID
type int 类型

onShareMediaState

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

回调名称

1
- (void)onShareMediaState(String peerId, int state, Map<String, Object> attrs)
参数

参数名 类型 说明
peerId String 用户ID
state int 状态
attrs Map 扩展信息

onUpdateAttributeStream

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

回调名称

1
- (void)onUpdateAttributeStream(String peerId, long pos, boolean isPlay, HashMap<String, Object> attrMap);
参数

参数名 类型 说明
peerId String 用户ID
pos int 当前进度
isPlay boolean 是否是播放的状态

onShareScreenState

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

回调名称

1
- (void)onShareScreenState(String peerId, int state, Map<String, Object> attrs);
参数

参数名 类型 说明
peerId String 用户ID
state int 状态

onShareFileState

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

回调名称

1
- (void)onShareFileState(String peerId, int state, Map<String, Object> attrs);
参数

参数名 类型 说明
peerId String 用户ID
state int 状态

TKMediaFrameObserver

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

onCaptureVideoFrame

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

回调名称

1
- (void)onCaptureVideoFrame(VideoFrame videoFrame, String peerId);
参数

参数名 类型 说明
frame VideoFrame 视频数据
peerId String 用户ID

onCaptureAudioFrame

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

回调名称

1
- (void)onCaptureAudioFrame(TKAudioFrame audioFrame, String uid, int type);
参数

参数名 类型 说明
frame TKAudioFrame 音频数据
type int 状态
peerId String 用户ID

onRenderAudioFrame

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

回调名称

1
- (void)onRenderAudioFrame(TKAudioFrame audioFrame, String peerId, int type);
参数

参数名 类型 说明
frame TKAudioFrame 音频数据
type int 状态
peerId String 用户ID

onRenderVideoFrame

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

回调名称

1
- (void)onRenderVideoFrame(VideoFrame videoFrame, String uid, int type);
or
1
- (void)onRenderVideoFrame(VideoFrame videoFrame, String uid, int type, String cameraId);
参数

参数名 类型 说明
frame TKAudioFrame 音频数据
type int 状态
peerId String 用户ID
cameraId String 设备ID

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