有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
Copyright (c) 2024 Tencent. All rights reserved.

Module: TUIRoomEngine @ TUIKitEngine
Function: TUIRoomEngine 主功能接口
Version: 2.2.0

TUIRoomEngine

TUIRoomEngine

函数列表
描述
创建 TUIRoomEngine 实例(单例模式)
销毁 TUIRoomEngine 实例(单例模式)
登录接口,您需要先初始化用户信息后才能进入房间,并进行一系列的操作
退出登录接口,会有主动离开房间操作、销毁资源
设置本地用户名称和头像
获取本地用户登录的基本信息
设置本地用户信息
设置事件回调
移除事件回调
创建房间
解散房间
进入房间
离开房间
连接其他房间
断开与其他房间的连接
获取房间信息
更新房间名称(只有管理员或房主能够调用)
设置房间上麦模式(只有管理员或房主能够调用)
设置本地用户视频渲染的视图控件
打开本地摄像头
关闭本地摄像头
开始推送本地视频。默认开启
停止推送本地视频
更新本地视频编码质量设置
设置视频编码器的编码参数
设置视频编码器分辨率模式(横屏分辨率 or 竖屏分辨率)
开启重力感应模式
开始屏幕分享(该接口仅支持移动端)
开始屏幕分享(该接口仅支持桌面端 Mac OS 系统)
结束屏幕分享
枚举可分享的屏幕和窗口(该接口仅支持 Mac OS 系统)
选取要分享的屏幕或窗口(该接口仅支持 Mac OS 系统)
打开本地麦克风
关闭本地麦克风
更新本地音频编码质量设置
暂停发布本地的音频流
恢复发布本地的音频流
设置远端用户视频渲染的视图控件
开始播放远端用户视频
停止播放远端用户视频
将远端用户静音
获取房间内的成员列表
获取成员信息
修改用户角色(只有管理员或房主能够调用)
将远端用户踢出房间(只有管理员或房主能够调用)
为用户增加标记(只有房主能够调用)
为用户移除标记(只有房主能够调用)
根据标记获取房间内用户信息
设置房间内成员自定义信息
控制当前房间内所有用户是否可打开音频流、视频流采集设备的权限状态,例如:全员禁止打开麦克风、全员禁止打开摄像头(目前仅会议场景下可用,并且只有管理员或房主能够调用)
请求远端用户打开媒体设备(只有管理员或房主能够调用,device类型不支持SCREEN_SHARING)
关闭远端用户媒体设备(只有管理员或房主能够调用)
请求打开本地媒体设备(普通用户可用,device类型不支持SCREEN_SHARING)
设置最大麦位数(仅支持进房前和创建房间时设置)
获取麦位列表
锁定麦位(只有管理员或房主能够调用,包括位置锁定、音频状态锁定和视频状态锁定)
上麦(上麦发言模式下,需要申请)
下麦
主持人/管理员 邀请用户上麦
主持人/管理员 将用户踢下麦
主持人/管理员 获取房间内申请上麦用户的请求列表
发送本文消息
发送自定义消息
禁用远端用户的发送文本消息能力(只有管理员或房主能够调用)
禁用所有用户的发送文本消息能力(只有管理员或房主能够调用)
取消请求
回复请求
设置美颜级别
设置美白级别
获取插件
获取设备管理类
调用实验性接口

sharedInstance

sharedInstance

创建 TUIRoomEngine 实例(单例模式)

注意
如果您使用 sharedInstance 获取 TUIRoomEngine 实例,并请使用 destroySharedInstance 释放对象指针。

destroySharedInstance

destroySharedInstance

销毁 TUIRoomEngine 实例(单例模式)

loginWithSDKAppId:userId:userSig:onSuccess:onError:

loginWithSDKAppId:userId:userSig:onSuccess:onError:
+ (void)loginWithSDKAppId:
(NSInteger)sdkAppId
userId:
(NSString *)userId
userSig:
(NSString *)userSig
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

登录接口,您需要先初始化用户信息后才能进入房间,并进行一系列的操作

若用户在线时被踢下线,SDK会通过 $TUIRoomObserver$ 中的 onKickedOffLine 回调通知您。
参数
描述
onError
失败回调
onSuccess
成功回调
sdkAppId
它是腾讯云用于区分客户的唯一标识,进入腾讯云实时音视频 控制台创建应用,即可看到SDKAppId
userId
用户ID,用于区分不同用户
userSig
用户签名,用于腾讯云流量的认证

logout:onError:

logout:onError:
+ (void)logout:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

退出登录接口,会有主动离开房间操作、销毁资源

参数
描述
onError
失败回调
onSuccess
成功回调

setSelfInfoWithUserName:avatarUrl:onSuccess:onError:

setSelfInfoWithUserName:avatarUrl:onSuccess:onError:
+ (void)setSelfInfoWithUserName:
(NSString *)userName
avatarUrl:
(NSString *)avatarURL
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

设置本地用户名称和头像

参数
描述
avatarURL
用户头像URL地址
onError
失败回调
onSuccess
成功回调
userName
用户名称

getSelfInfo

getSelfInfo

获取本地用户登录的基本信息

返回值说明:

TUILoginUserInfo 用户登录信息

setSelfInfo:onSuccess:onError:

setSelfInfo:onSuccess:onError:
+ (void)setSelfInfo:
(TUILoginUserInfo *)userInfo
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

设置本地用户信息

参数
描述
onError
失败回调
onSuccess
成功回调
userInfo
本地用户信息

addObserver:

addObserver:
- (void)addObserver:
(id<TUIRoomObserver>)observer

设置事件回调

您可以通过 TUIRoomObserver 获得各类事件通知(例如:错误码,远端用户进房,音视频状态参数等)
参数
描述
observer
监听的实例

removeObserver:

removeObserver:
- (void)removeObserver:
(id<TUIRoomObserver>)observer

移除事件回调

参数
描述
observer
待移除的监听回调实例

createRoom:onSuccess:onError:

createRoom:onSuccess:onError:
- (void)createRoom:
(TUIRoomInfo *)roomInfo
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

创建房间

参数
描述
onError
失败回调
onSuccess
成功回调
roomInfo
房间信息,可以初始化房间的一些设置

destroyRoom:onError:

destroyRoom:onError:
- (void)destroyRoom:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

解散房间

房间解散后,SDK会通过 $TUIRoomObserver$ 中的 onRoomDismissed 回调通知房间内用户。
参数
描述
onError
失败回调
onSuccess
成功回调

enterRoom:onSuccess:onError:

enterRoom:onSuccess:onError:
- (void)enterRoom:
(NSString *)roomId
onSuccess:
(TUIRoomInfoBlock)onSuccess
onError:
(TUIErrorBlock)onError

进入房间

进入房间后,SDK会通过 $TUIRoomObserver$ 中的 onRemoteUserEnterRoom 回调通知房间内用户。
参数
描述
onError
失败回调
onSuccess
成功回调
roomId
房间ID

exitRoom:onSuccess:onError:

exitRoom:onSuccess:onError:
- (void)exitRoom:
(BOOL)syncWaiting
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

离开房间

离开房间之后,SDK会通过 $TUIRoomObserver$ 中的 onRemoteUserLeaveRoom 回调通知房间内用户。
参数
描述
onError
失败回调
onSuccess
成功回调
syncWaiting
是否同步等待接口返回

connectOtherRoom:userId:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:

connectOtherRoom:userId:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
- (TUIRequest *)connectOtherRoom:
(NSString *)roomId
userId:
(NSString *)userId
timeout:
(NSTimeInterval)timeout
onAccepted:
(TUIRequestAcceptedBlock)onAccepted
onRejected:
(TUIRequestRejectedBlock)onRejected
onCancelled:
(TUIRequestCancelledBlock)onCancelled
onTimeout:
(TUIRequestTimeoutBlock)onTimeout
onError:
(TUIRequestErrorBlock)onError

连接其他房间

参数
描述
onAccepted
邀请被接受的回调
onCancelled
邀请被取消的回调
onError
邀请发生错误的回调
onRejected
邀请被拒绝的回调
onTimeout
邀请超时未处理的回调
roomId
房间ID
timeout
超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发超时回调
userId
用户ID
注意
用于直播场景下的申请跨房连麦
接口调用成功后,SDK会通过 $TUIRoomObserver$ 中的 onRequestReceived 回调通知被连接房间房主

返回值说明:

请求体

disconnectOtherRoom:onError:

disconnectOtherRoom:onError:
- (void)disconnectOtherRoom:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

断开与其他房间的连接

参数
描述
onError
失败回调
onSuccess
成功回调
注意
用于直播场景下的断开跨房连麦

fetchRoomInfo:onError:

fetchRoomInfo:onError:
- (void)fetchRoomInfo:
(TUIRoomInfoBlock)onSuccess
onError:
(TUIErrorBlock)onError

获取房间信息

参数
描述
onError
失败回调
onSuccess
成功获取到房间信息回调,回调会包含 TUIRoomInfo 房间信息

updateRoomNameByAdmin:onSuccess:onError:

updateRoomNameByAdmin:onSuccess:onError:
- (void)updateRoomNameByAdmin:
(NSString *)roomName
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

更新房间名称(只有管理员或房主能够调用)

房间名称更新后,SDK会通过 $TUIRoomObserver$ 中的 onRoomNameChanged 回调通知房间内用户。
参数
描述
onError
失败回调
onSuccess
成功回调
roomName
房间名称

updateRoomSeatModeByAdmin:onSuccess:onError:

updateRoomSeatModeByAdmin:onSuccess:onError:
- (void)updateRoomSeatModeByAdmin:
(TUISeatMode)seatMode
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

设置房间上麦模式(只有管理员或房主能够调用)

房间上麦模式更新后,SDK会通过 $TUIRoomObserver$ 中的 onRoomSeatModeChanged 回调通知房间内用户。
参数
描述
onError
错误回调
onSuccess
成功回调FREE_TO_TAKE
seatMode
TUISeatModeFreeToTake: 自由上麦模式,台下观众可以自由上麦,无需申请;
TUISeatModeApplyToTake: 申请上麦模式,台下观众上麦需要房主或者管理员同意后才能上麦;

setLocalVideoView:

setLocalVideoView:
- (void)setLocalVideoView:
(TUIVideoView *__nullable)view

设置本地用户视频渲染的视图控件

参数
描述
view
视频渲染视图

openLocalCamera:quality:onSuccess:onError:

openLocalCamera:quality:onSuccess:onError:
- (void)openLocalCamera:
(BOOL)isFront
quality:
(TUIVideoQuality)quality
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

打开本地摄像头

在房间内打开本地摄像头后,默认推送本地视频流,SDK会通过 $TUIRoomObserver$ 中的 onUserVideoStateChanged 回调通知房间内用户。
参数
描述
isFront
YES: 前置 NO: 后置
onError
失败回调
onSuccess
成功回调

closeLocalCamera

closeLocalCamera

关闭本地摄像头

在房间内关闭本地摄像头后,SDK会通过 $TUIRoomObserver$ 中的 onUserVideoStateChanged 回调通知房间内用户。

startPushLocalVideo

startPushLocalVideo

开始推送本地视频。默认开启

推送本地视频后,若您的本地摄像头已打开,SDK会通过 $TUIRoomObserver$ 中的 onUserVideoStateChanged 回调通知房间内用户。

stopPushLocalVideo

stopPushLocalVideo

停止推送本地视频

停止推送本地视频后,SDK会通过 $TUIRoomObserver$ 中的 onUserVideoStateChanged 回调通知房间内用户。

updateVideoQuality:

updateVideoQuality:
- (void)updateVideoQuality:
(TUIVideoQuality)quality

更新本地视频编码质量设置

updateVideoQualityEx:params:

updateVideoQualityEx:params:
- (void)updateVideoQualityEx:
(TUIVideoStreamType)streamType
params:

设置视频编码器的编码参数

参数
描述
params
视频编码器的编码参数,定义可参考 TUIRoomVideoEncoderParams 的定义
streamType
视频流的类型,定义可参考 TUIVideoStreamType 的定义

setVideoResolutionMode:resolutionMode:

setVideoResolutionMode:resolutionMode:
- (void)setVideoResolutionMode:
(TUIVideoStreamType)streamType
resolutionMode:
(TUIResolutionMode)resolutionMode

设置视频编码器分辨率模式(横屏分辨率 or 竖屏分辨率)

参数
描述
resolutionMode
分辨率模式,定义可参考 TUIResolutionMode 的定义
streamType
视频流的类型,定义可参考 TUIVideoStreamType 的定义

enableGravitySensor:

enableGravitySensor:
- (void)enableGravitySensor:
(BOOL)enable

开启重力感应模式

参数
描述
enable
YES: 开启 NO: 关闭
注意
开启该模式后,当前用户发布出去的视频画面会跟随设备的重力感应方向进行相应的调整,同时本地预览画面保持方向不变

startScreenCaptureByReplaykit:

startScreenCaptureByReplaykit:
- (void)startScreenCaptureByReplaykit:
(NSString *)appGroup

开始屏幕分享(该接口仅支持移动端)

开始屏幕共享之后,SDK会通过 $TUIRoomObserver$ 中的 onUserVideoStateChanged 回调通知房间内用户。

startScreenCapture:onSuccess:onError:

startScreenCapture:onSuccess:onError:
- (void)startScreenCapture:
(TUIVideoView *)view
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

开始屏幕分享(该接口仅支持桌面端 Mac OS 系统)

开始屏幕共享之后,SDK会通过 $TUIRoomObserver$ 中的 onUserVideoStateChanged 回调通知房间内用户。
参数
描述
onError
错误回调
onSuccess
成功回调
view
渲染控件所在的父控件,可以设置为空值,表示不显示屏幕分享的预览效果。
注意
该接口可以抓取整个 Mac OS 系统的屏幕内容,或抓取您指定的某个应用的窗口内容,并将其分享给同房间中的其他用户。

stopScreenCapture

stopScreenCapture

结束屏幕分享

结束屏幕共享之后,SDK会通过 $TUIRoomObserver$ 中的 onUserVideoStateChanged 回调通知房间内用户,同时也会通过 onUserScreenCaptureStopped 回调通知您。

getScreenCaptureSources

getScreenCaptureSources

枚举可分享的屏幕和窗口(该接口仅支持 Mac OS 系统)

当您在对接桌面端系统的屏幕分享功能时,一般都需要展示一个选择分享目标的界面,这样用户能够使用这个界面选择是分享整个屏幕还是某个窗口通过本接口,您就可以查询到当前系统中可用于分享的窗口的 ID、名称以及缩略图。
注意
返回的列表中包含屏幕和应用窗口,屏幕是列表中的第一个元素, 如果用户有多个显示器,那么每个显示器都是一个分享目标

返回值说明:

窗口列表包括屏幕

selectScreenCaptureTarget:

selectScreenCaptureTarget:
- (void)selectScreenCaptureTarget:
(NSString *)targetId

选取要分享的屏幕或窗口(该接口仅支持 Mac OS 系统)

当您通过 getScreenCaptureSources 获取到可以分享的屏幕和窗口之后,您可以调用该接口选定期望分享的目标屏幕或目标窗口
在屏幕分享的过程中,您也可以随时调用该接口以切换分享目标。
参数
描述
targetId
指定分享源

openLocalMicrophone:onSuccess:onError:

openLocalMicrophone:onSuccess:onError:
- (void)openLocalMicrophone:
(TUIAudioQuality)quality
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

打开本地麦克风

在房间内打开本地麦克风后,SDK会通过 $TUIRoomObserver$ 中的 onUserAudioStateChanged 回调通知房间内用户。
参数
描述
onError
失败回调
onSuccess
成功回调
quality
音频质量

closeLocalMicrophone

closeLocalMicrophone

关闭本地麦克风

在房间内关闭本地麦克风后,SDK会通过 $TUIRoomObserver$ 中的 onUserAudioStateChanged 回调通知房间内用户。

updateAudioQuality:

updateAudioQuality:
- (void)updateAudioQuality:
(TUIAudioQuality)quality

更新本地音频编码质量设置

muteLocalAudio

muteLocalAudio

暂停发布本地的音频流

在房间内,若您已打开您的麦克风,调用此接口暂停发布本地的音频流后,SDK会通过 $TUIRoomObserver$ 中的 onUserAudioStateChanged 回调通知房间内用户。

unmuteLocalAudio:onError:

unmuteLocalAudio:onError:
- (void)unmuteLocalAudio:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

恢复发布本地的音频流

在房间内,若您已打开您的麦克风,调用此接口恢复发布本地的音频流后,SDK会通过 $TUIRoomObserver$ 中的 onUserAudioStateChanged 回调通知房间内用户。
参数
描述
onError
失败回调
onSuccess
成功回调

setRemoteVideoView:streamType:view:

setRemoteVideoView:streamType:view:
- (void)setRemoteVideoView:
(NSString *)userId
streamType:
(TUIVideoStreamType)streamType
view:
(TUIVideoView *__nullable)view

设置远端用户视频渲染的视图控件

参数
描述
streamType
视频流的类型,定义可参考 TUIVideoStreamType 的定义
userId
远端用户ID
view
视频渲染视图

startPlayRemoteVideo:streamType:onPlaying:onLoading:onError:

startPlayRemoteVideo:streamType:onPlaying:onLoading:onError:
- (void)startPlayRemoteVideo:
(NSString *)userId
streamType:
(TUIVideoStreamType)streamType
onPlaying:
(TUIPlayOnPlayingBlock)onPlaying
onLoading:
(TUIPlayOnLoadingBlock)onLoading
onError:
(TUIPlayOnErrorBlock)onError

开始播放远端用户视频

参数
描述
onError
错误回调
onLoading
加载回调
onPlaying
播放回调
streamType
视频流的类型 详细定义可以参考 TUIVideoStreamType 的定义
userId
用户ID

stopPlayRemoteVideo:streamType:

stopPlayRemoteVideo:streamType:
- (void)stopPlayRemoteVideo:
(NSString *)userId
streamType:
(TUIVideoStreamType)streamType

停止播放远端用户视频

参数
描述
streamType
视频流的类型 详细定义可以参考 TUIVideoStreamType 的定义
userId
用户ID

muteRemoteAudioStream:isMute:

muteRemoteAudioStream:isMute:
- (void)muteRemoteAudioStream:
(NSString *)userId
isMute:
(BOOL)isMute

将远端用户静音

参数
描述
isMute
是否静音
userId
用户ID

getUserList:onSuccess:onError:

getUserList:onSuccess:onError:
- (void)getUserList:
(NSInteger)nextSequence
onSuccess:
(TUIUserListResponseBlock)onSuccess
onError:
(TUIErrorBlock)onError

获取房间内的成员列表

参数
描述
nextSequence
分页拉取标志,第一次拉取填0,回调成功 如果callback返回的数据中 nextSequence 不为零,需要分页,传入再次拉取,直至为0
onError
错误回调
onSuccess
成功回调,回调中包含 TUIUserInfo 数组

getUserInfo:onSuccess:onError:

getUserInfo:onSuccess:onError:
- (void)getUserInfo:
(NSString *)userId
onSuccess:
(TUIUserInfoBlock)onSuccess
onError:
(TUIErrorBlock)onError

获取成员信息

参数
描述
onError
错误回调
onSuccess
成功回调,回调中包含 TUIUserInfo 数组
userId
用户ID

changeUserRole:role:onSuccess:onError:

changeUserRole:role:onSuccess:onError:
- (void)changeUserRole:
(NSString *)userId
role:
(TUIRole)role
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

修改用户角色(只有管理员或房主能够调用)

修改用户角色后,SDK会通过 $TUIRoomObserver$ 中的 onUserRoleChanged 回调通知房间内用户
参数
描述
onError
错误回调
onSuccess
成功回调
role
用户角色 详细定义可以参考 TUIRole 的定义
userId
用户ID

kickRemoteUserOutOfRoom:onSuccess:onError:

kickRemoteUserOutOfRoom:onSuccess:onError:
- (void)kickRemoteUserOutOfRoom:
(NSString *)userId
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

将远端用户踢出房间(只有管理员或房主能够调用)

将远端用户踢出房间后,SDK会通过 $TUIRoomObserver$ 中的 onKickedOutOfRoom 回调通知被踢出用户,同时会通过 onRemoteUserLeaveRoom 通知房间内用户。
参数
描述
onError
错误回调
onSuccess
成功回调
userId
用户ID

addCategoryTagForUsers:userList:onSuccess:onError:

addCategoryTagForUsers:userList:onSuccess:onError:
- (void)addCategoryTagForUsers:
(NSInteger)tag
userList:
(NSArray<NSString *> *)userList
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

为用户增加标记(只有房主能够调用)

参数
描述
onError
错误回调
onSuccess
成功回调
tag
标记类型。数字类型,大于等于 1000,您可以自定义。
userList
用户列表

removeCategoryTagForUsers:userList:onSuccess:onError:

removeCategoryTagForUsers:userList:onSuccess:onError:
- (void)removeCategoryTagForUsers:
(NSInteger)tag
userList:
(NSArray<NSString *> *)userList
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

为用户移除标记(只有房主能够调用)

参数
描述
onError
错误回调
onSuccess
成功回调
tag
标记类型。数字类型,大于等于 1000,您可以自定义。
userList
用户列表

getUserListByTag:nextSequence:onSuccess:onError:

getUserListByTag:nextSequence:onSuccess:onError:
- (void)getUserListByTag:
(NSInteger)tag
nextSequence:
(NSInteger)nextSequence
onSuccess:
(TUIUserListResponseBlock)onSuccess
onError:
(TUIErrorBlock)onError

根据标记获取房间内用户信息

参数
描述
nextSequence
分页拉取标志,第一次拉取填0,回调成功 如果callback返回的数据中 nextSequence 不为零,需要分页,传入再次拉取,直至为0
onError
错误回调
onSuccess
成功回调
tag
标记类型。数字类型,大于等于 1000,您可以自定义。

setCustomInfoForUser:onSuccess:onError:

setCustomInfoForUser:onSuccess:onError:
- (void)setCustomInfoForUser:
(NSString *)userId
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

设置房间内成员自定义信息

参数
描述
customInfo
自定义信息
userId
用户userId

disableDeviceForAllUserByAdmin:isDisable:onSuccess:onError:

disableDeviceForAllUserByAdmin:isDisable:onSuccess:onError:
- (void)disableDeviceForAllUserByAdmin:
(TUIMediaDevice)device
isDisable:
(BOOL)isDisable
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

控制当前房间内所有用户是否可打开音频流、视频流采集设备的权限状态,例如:全员禁止打开麦克风、全员禁止打开摄像头(目前仅会议场景下可用,并且只有管理员或房主能够调用)

接口调用成功后:
若device类型为 MICROPHONE ,SDK会通过 $TUIRoomObserver$ 中的 onAllUserMicrophoneDisableChanged 通知房间内用户
若device类型为 CAMERA ,SDK会通过 $TUIRoomObserver$ 中的 onAllUserCameraDisableChanged 通知房间内用户
若device类型为 SCREEN_SHARING ,SDK会通过 $TUIRoomObserver$ 中的 onScreenShareForAllUserDisableChanged 通知房间内用户
参数
描述
device
设备. 详细定义参考:TUIMediaDevice
isDisable
是否禁用
onError
操作失败回调
onSuccess
操作成功回调

openRemoteDeviceByAdmin:device:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:

openRemoteDeviceByAdmin:device:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
- (TUIRequest *)openRemoteDeviceByAdmin:
(NSString *)userId
device:
(TUIMediaDevice)device
timeout:
(NSTimeInterval)timeout
onAccepted:
(nullable TUIRequestAcceptedBlock)onAccepted
onRejected:
(nullable TUIRequestRejectedBlock)onRejected
onCancelled:
(nullable TUIRequestCancelledBlock)onCancelled
onTimeout:
(nullable TUIRequestTimeoutBlock)onTimeout
onError:
(nullable TUIRequestErrorBlock)onError

请求远端用户打开媒体设备(只有管理员或房主能够调用,device类型不支持SCREEN_SHARING)

调用此接口后,SDK会通过 {@lin k$TUIRoomObserver$} 中的 onRequestReceived 通知被请求用户
参数
描述
device
媒体设备。详细定义参考:TUIMediaDevice
onAccepted
邀请被接受的回调
onCancelled
邀请被取消的回调
onError
邀请发生错误的回调
onRejected
邀请被拒绝的回调
onTimeout
邀请超时未处理的回调
timeout
超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发超时回调
userId
用户ID

返回值说明:

TUIRequest 请求体

closeRemoteDeviceByAdmin:device:onSuccess:onError:

closeRemoteDeviceByAdmin:device:onSuccess:onError:
- (void)closeRemoteDeviceByAdmin:
(NSString *)userId
device:
(TUIMediaDevice)device
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

关闭远端用户媒体设备(只有管理员或房主能够调用)

接口调用成功后:
若device类型为 MICROPHONE ,SDK会通过 $TUIRoomObserver$ 中的 onUserAudioStateChanged 通知房间内用户
若device类型为 CAMERA 或 SCREEN_SHARING,SDK会通过 $TUIRoomObserver$ 中的 onUserVideoStateChanged 通知房间内用户
参数
描述
device
媒体设备。详细定义参考:TUIMediaDevice
onError
调用失败回调
onSuccess
调用成功回调
userId
用户ID

applyToAdminToOpenLocalDevice:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:

applyToAdminToOpenLocalDevice:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
- (TUIRequest *)applyToAdminToOpenLocalDevice:
(TUIMediaDevice)device
timeout:
(NSTimeInterval)timeout
onAccepted:
(nullable TUIRequestAcceptedBlock)onAccepted
onRejected:
(nullable TUIRequestRejectedBlock)onRejected
onCancelled:
(nullable TUIRequestCancelledBlock)onCancelled
onTimeout:
(nullable TUIRequestTimeoutBlock)onTimeout
onError:
(nullable TUIRequestErrorBlock)onError

请求打开本地媒体设备(普通用户可用,device类型不支持SCREEN_SHARING)

接口调用成功后,SDK会通过 $TUIRoomObserver$ 中的 onRequestRequestReceived 通知被请求用户
参数
描述
device
用户ID device 媒体设备。详细定义参考:TUIMediaDevice
onAccepted
邀请被接受的回调
onCancelled
邀请被取消的回调
onError
邀请发生错误的回调
onRejected
邀请被拒绝的回调
onTimeout
邀请超时未处理的回调
timeout
超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发超时回调

返回值说明:

TUIRequest 请求体

setMaxSeatCount:onSuccess:onError:

setMaxSeatCount:onSuccess:onError:
- (void)setMaxSeatCount:
(NSUInteger)maxSeatCount
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

设置最大麦位数(仅支持进房前和创建房间时设置)

参数
描述
maxSeatCount
最大麦位数
onError
错误回调
onSuccess
成功回调

getSeatList:onError:

getSeatList:onError:
- (void)getSeatList:
(TUISeatListResponseBlock)onSuccess
onError:
(TUIErrorBlock)onError

获取麦位列表

参数
描述
onError
错误回调
onSuccess
成功回调

lockSeatByAdmin:lockMode:onSuccess:onError:

lockSeatByAdmin:lockMode:onSuccess:onError:
- (void)lockSeatByAdmin:
(NSInteger)seatIndex
lockMode:
(TUISeatLockParams *)lockParams
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

锁定麦位(只有管理员或房主能够调用,包括位置锁定、音频状态锁定和视频状态锁定)

参数
描述
lockParams
锁麦参数。详情参考:$TUISeatLockParam$
onError
错误回调
onSuccess
成功回调
seatIndex
麦位编号

takeSeat:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:

takeSeat:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
- (TUIRequest *)takeSeat:
(NSInteger)seatIndex
timeout:
(NSTimeInterval)timeout
onAccepted:
(TUIRequestAcceptedBlock)onAccepted
onRejected:
(TUIRequestRejectedBlock)onRejected
onCancelled:
(TUIRequestCancelledBlock)onCancelled
onTimeout:
(TUIRequestTimeoutBlock)onTimeout
onError:
(TUIRequestErrorBlock)onError

上麦(上麦发言模式下,需要申请)

上麦成功后,SDK会通过 $TUIRoomObserver$ 中的 onSeatListChanged 通知房间内用户。
参数
描述
onAccepted
邀请被接受的回调
onCancelled
邀请被取消的回调
onError
邀请发生错误的回调
onRejected
邀请被拒绝的回调
onTimeout
邀请超时未处理的回调
seatIndex
麦位编号。未开启麦位,不关心麦位序列的情况下,填-1即可。
timeout
超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发超时回调
注意
开启上麦发言模式时,需要向主持人或管理员发起申请才允许上麦。
开启自由发言模式,直播场景可以自由上麦,上麦后开麦发言,会议场景无需调用该接口,即可开麦发言。

返回值说明:

TUIRequest 请求体

leaveSeat:onError:

leaveSeat:onError:
- (void)leaveSeat:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

下麦

下麦成功后,SDK会通过 $TUIRoomObserver$ 中的 onSeatListChanged 通知房间内用户。
参数
描述
onError
错误回调
onSuccess
成功回调

takeUserOnSeatByAdmin:userId:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:

takeUserOnSeatByAdmin:userId:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
- (TUIRequest *)takeUserOnSeatByAdmin:
(NSInteger)seatIndex
userId:
(NSString *)userId
timeout:
(NSTimeInterval)timeout
onAccepted:
(TUIRequestAcceptedBlock)onAccepted
onRejected:
(TUIRequestRejectedBlock)onRejected
onCancelled:
(TUIRequestCancelledBlock)onCancelled
onTimeout:
(TUIRequestTimeoutBlock)onTimeout
onError:
(TUIRequestErrorBlock)onError

主持人/管理员 邀请用户上麦

接口调用成功后,SDK会通过 $TUIRoomObserver$ 中的 onRequestReceived 通知被邀请用户
参数
描述
onAccepted
邀请被接受的回调
onCancelled
邀请被取消的回调
onError
邀请发生错误的回调
onRejected
邀请被拒绝的回调
onTimeout
邀请超时未处理的回调
seatIndex
麦位编号。未开启麦位、无需麦位场景下无需关心,填-1即可。
timeout
超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发超时回调
userId
用户ID

返回值说明:

TUIRequest 请求体

kickUserOffSeatByAdmin:userId:onSuccess:onError:

kickUserOffSeatByAdmin:userId:onSuccess:onError:
- (void)kickUserOffSeatByAdmin:
(NSInteger)seatIndex
userId:
(NSString *)userId
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

主持人/管理员 将用户踢下麦

接口调用成功后,SDK会通过 $TUIRoomObserver$ 中的 onSeatListChanged 通知房间内用户。
参数
描述
onError
失败回调
onSuccess
成功回调
seatIndex
麦位编号。未开启麦位,不关心麦位序列的情况下,填-1即可。
userId
用户ID

getSeatApplicationList:onError:

getSeatApplicationList:onError:
- (void)getSeatApplicationList:
(TUIRequestListResponseBlock)onSuccess
onError:
(TUIErrorBlock)onError

主持人/管理员 获取房间内申请上麦用户的请求列表

sendTextMessage:onSuccess:onError:

sendTextMessage:onSuccess:onError:
- (void)sendTextMessage:
(NSString *)message
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

发送本文消息

消息发送后,SDK会通过 $TUIRoomObserver$ 中的 onReceiveTextMessage 通知房间内用户。
参数
描述
message
消息内容
onError
错误回调
onSuccess
成功回调

sendCustomMessage:onSuccess:onError:

sendCustomMessage:onSuccess:onError:
- (void)sendCustomMessage:
(NSString *)message
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

发送自定义消息

消息发送后,SDK会通过 $TUIRoomObserver$ 中的 onReceiveCustomMessage 通知房间内用户。
参数
描述
message
消息内容
onError
错误回调
onSuccess
成功回调

disableSendingMessageByAdmin:isDisable:onSuccess:onError:

disableSendingMessageByAdmin:isDisable:onSuccess:onError:
- (void)disableSendingMessageByAdmin:
(NSString *)userId
isDisable:
(BOOL)isDisable
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

禁用远端用户的发送文本消息能力(只有管理员或房主能够调用)

禁用远端用户的发送文本消息能力后,SDK会通过 $TUIRoomObserver$ 中的 onSendMessageForUserDisableChanged 通知被禁用用户
参数
描述
isDisable
是否禁用
onError
错误回调
onSuccess
成功回调
userId
用户ID

disableSendingMessageForAllUser:onSuccess:onError:

disableSendingMessageForAllUser:onSuccess:onError:
- (void)disableSendingMessageForAllUser:
(BOOL)isDisable
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

禁用所有用户的发送文本消息能力(只有管理员或房主能够调用)

禁用所有用户的发送文本消息能力后,SDK会通过 $TUIRoomObserver$ 中的 onSendMessageForAllUserDisableChanged 通知房间内用户。
参数
描述
isDisable
是否禁用
onError
错误回调
onSuccess
成功回调

cancelRequest:onSuccess:onError:

cancelRequest:onSuccess:onError:
- (void)cancelRequest:
(NSString *)requestId
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

取消请求

取消请求后,SDK会通过 $TUIRoomObserver$ 中的 onRequestCancelled 通知被请求用户
参数
描述
onError
失败回调
onSuccess
成功回调
requestId
请求ID(发送请求的接口返回或者OnRequestReceived事件通知)
注意
可以使用此接口来取消已发出的请求

responseRemoteRequest:agree:onSuccess:onError:

responseRemoteRequest:agree:onSuccess:onError:
- (void)responseRemoteRequest:
(NSString *)requestId
agree:
(BOOL)agree
onSuccess:
(TUISuccessBlock)onSuccess
onError:
(TUIErrorBlock)onError

回复请求

参数
描述
agree
是否同意 YES: 同意请求, NO: 拒绝请求
onError
失败回调
onSuccess
成功回调
requestId
请求ID(发送请求的接口返回或者OnRequestReceived事件通知)
注意
在收到信令请求时,可以使用此接口来回复接收到的请求

setBeautyLevel:beautyLevel:

setBeautyLevel:beautyLevel:
- (void)setBeautyLevel:
(NSInteger)beautyStyle
beautyLevel:
(float)beautyLevel

设置美颜级别

参数
描述
beautyLevel
美颜级别,取值范围 0 - 9; 0 表示关闭,9 表示效果最明显。
beautyStyle
美颜风格,TXBeautyStyleSmooth:光滑;TXBeautyStyleNature:自然;TXBeautyStylePitu:优图。

setWhitenessLevel:

setWhitenessLevel:
- (void)setWhitenessLevel:
(float)whitenessLevel

设置美白级别

参数
描述
whitenessLevel
美白级别,取值范围 0 - 9;0 表示关闭,9 表示效果最明显。

getExtension:

getExtension:
- (id) getExtension:
(TUIExtensionType)extensionType

获取插件

参数
描述
extensionType
插件类型。

getMediaDeviceManager

getMediaDeviceManager

获取设备管理类

callExperimentalAPI:

callExperimentalAPI:
+ (void)callExperimentalAPI:
(NSString *)jsonStr

调用实验性接口

参数
描述
jsonStr
接口信息