TUIRoomEngine
Copyright (c) 2024 Tencent. All rights reserved.
Module: TUIRoomEngine @ TUIKitEngine
Function: TUIRoomEngine 主功能接口
Version: 12.0
TUIRoomEngine
TUIRoomEngine
函数列表 | 描述 |
创建 TUIRoomEngine 实例(单例模式) | |
销毁 TUIRoomEngine 实例(单例模式) | |
登录接口,您需要先初始化用户信息后才能进入房间,并进行一系列的操作 | |
退出登录接口,会有主动离开房间操作、销毁资源 | |
设置本地用户名称和头像 | |
获取本地用户登录的基本信息 | |
设置本地用户信息 | |
设置事件回调 | |
移除事件回调 | |
创建房间 | |
解散房间 | |
进入房间 | |
进入房间 | |
进入房间 | |
离开房间 | |
获取当前进入的房间信息 | |
获取房间信息 | |
更新房间名称(只有管理员或房主能够调用) | |
更新房间麦位模式(只有管理员或房主能够调用) | |
更新房间密码 | |
获取房间自定义信息 | |
设置房间自定义信息,已有该属性则更新其 value 值,没有则添加该属性 | |
设置本地用户视频渲染的视图控件 | |
打开本地摄像头 | |
关闭本地摄像头 | |
开始推送本地视频。默认开启 | |
停止推送本地视频 | |
更新本地视频编码质量设置 | |
设置视频编码器的编码参数 | |
设置视频编码器分辨率模式(横屏分辨率 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 |
登录接口,您需要先初始化用户信息后才能进入房间,并进行一系列的操作
参数 | 描述 |
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
setSelfInfo:onSuccess:onError:
setSelfInfo:onSuccess:onError:
+ (void)setSelfInfo: | |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
设置本地用户信息
参数 | 描述 |
onError | 失败回调。 |
onSuccess | 成功回调。 |
userInfo | 本地用户信息。 |
addObserver:
addObserver:
- (void)addObserver: |
设置事件回调
您可以通过 TUIRoomObserver 获得各类事件通知(例如:错误码,远端用户进房,音视频状态参数等)。
参数 | 描述 |
observer | 监听的实例。 |
removeObserver:
createRoom:onSuccess:onError:
createRoom:onSuccess:onError:
- (void)createRoom: | |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
创建房间
参数 | 描述 |
onError | 失败回调。 |
onSuccess | 成功回调。 |
roomInfo | 房间信息,可以初始化房间的一些设置。 |
destroyRoom:onError:
destroyRoom:onError:
- (void)destroyRoom: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
enterRoom:onSuccess:onError:
enterRoom:onSuccess:onError:
- (void)enterRoom: | (NSString *)roomId |
onSuccess: | (TUIRoomInfoBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
进入房间
参数 | 描述 |
onError | 失败回调。 |
onSuccess | 成功回调。 |
roomId | 房间ID。 |
注意
单设备允许同时进入的房间数限制,conference:1个,live: 3个。超过限制后,会退出最早加入的房间;
同账号多设备登录,只允许一个设备进入相同ID的会议房间,其他设备进入时,会踢掉较早进入的设备。
enterRoom:roomType:onSuccess:onError:
enterRoom:roomType:onSuccess:onError:
- (void)enterRoom: | (NSString *)roomId |
roomType: | |
onSuccess: | (TUIRoomInfoBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
进入房间
参数 | 描述 |
onError | 失败回调。 |
onSuccess | 成功回调。 |
roomId | 房间ID。 |
roomType | 房间类型。 |
注意
单设备允许同时进入的房间数限制,conference:1个,live: 3个。超过限制后,会退出最早加入的房间;
同账号多设备登录,只允许一个设备进入相同ID的会议房间,其他设备进入时,会踢掉较早进入的设备。
enterRoom:roomType:options:onSuccess:onError:
enterRoom:roomType:options:onSuccess:onError:
- (void)enterRoom: | (NSString *)roomId |
roomType: | |
options: | |
onSuccess: | (TUIRoomInfoBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
进入房间
参数 | 描述 |
options | 进房参数。 |
roomId | 房间ID。 |
roomType | 房间类型。 |
注意
单设备允许同时进入的房间数限制,conference:1个,live: 3个。超过限制后,会退出最早加入的房间;
同账号多设备登录,只允许一个设备进入相同ID的会议房间,其他设备进入时,会踢掉较早进入的设备。
exitRoom:onSuccess:onError:
exitRoom:onSuccess:onError:
- (void)exitRoom: | (BOOL)syncWaiting |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
离开房间
参数 | 描述 |
onError | 失败回调。 |
onSuccess | 成功回调。 |
syncWaiting | 是否同步等待接口返回。 |
fetchRoomInfo:onError:
fetchRoomInfo:onError:
- (void)fetchRoomInfo: | (TUIRoomInfoBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
获取当前进入的房间信息
返回值说明:
成功获取到房间信息回调,回调会包含 $TUIRoomInfo 房间信息。
fetchRoomInfo:roomType:onSuccess:onError:
fetchRoomInfo:roomType:onSuccess:onError:
- (void)fetchRoomInfo: | (NSString*)roomId |
roomType: | |
onSuccess: | (TUIRoomInfoBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
updateRoomNameByAdmin:onSuccess:onError:
updateRoomNameByAdmin:onSuccess:onError:
- (void)updateRoomNameByAdmin: | (NSString *)roomName |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
更新房间名称(只有管理员或房主能够调用)
参数 | 描述 |
roomName | 房间名称。 |
updateRoomSeatModeByAdmin:onSuccess:onError:
updateRoomSeatModeByAdmin:onSuccess:onError:
- (void)updateRoomSeatModeByAdmin: | |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
更新房间麦位模式(只有管理员或房主能够调用)
参数 | 描述 |
seatMode |
updateRoomPasswordByAdmin:onSuccess:onError:
updateRoomPasswordByAdmin:onSuccess:onError:
- (void)updateRoomPasswordByAdmin: | (NSString *)password |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
更新房间密码
参数 | 描述 |
password | 房间密码。 |
getRoomMetadata:onSuccess:onError:
getRoomMetadata:onSuccess:onError:
- (void)getRoomMetadata: | (NSArray<NSString *> *)keys |
onSuccess: | (TUIRoomMetadataResponseBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
获取房间自定义信息
参数 | 描述 |
keys | 房间自定义信息 key 列表, 如果 keys 传空则获取所有自定义信息 |
setRoomMetadataByAdmin
setRoomMetadataByAdmin
设置房间自定义信息,已有该属性则更新其 value 值,没有则添加该属性
参数 | 描述 |
metadata | 房间自定义信息中的键值对 |
setLocalVideoView:
setLocalVideoView:
- (void)setLocalVideoView: | (TUIVideoView *__nullable)view |
设置本地用户视频渲染的视图控件
参数 | 描述 |
view | 视频渲染视图。 |
openLocalCamera:quality:onSuccess:onError:
openLocalCamera:quality:onSuccess:onError:
- (void)openLocalCamera: | (BOOL)isFront |
quality: | |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
打开本地摄像头
参数 | 描述 |
isFront | YES: 前置 NO: 后置。 |
onError | 失败回调。 |
onSuccess | 成功回调。 |
closeLocalCamera
closeLocalCamera
关闭本地摄像头
startPushLocalVideo
startPushLocalVideo
开始推送本地视频。默认开启
stopPushLocalVideo
stopPushLocalVideo
停止推送本地视频
updateVideoQuality:
updateVideoQualityEx:params:
updateVideoQualityEx:params:
- (void)updateVideoQualityEx: | |
params: |
设置视频编码器的编码参数
参数 | 描述 |
params | |
streamType |
setVideoResolutionMode:resolutionMode:
setVideoResolutionMode:resolutionMode:
- (void)setVideoResolutionMode: | |
resolutionMode: |
设置视频编码器分辨率模式(横屏分辨率 or 竖屏分辨率)
参数 | 描述 |
resolutionMode | |
streamType |
enableGravitySensor:
enableGravitySensor:
- (void)enableGravitySensor: | (BOOL)enable |
开启重力感应模式
参数 | 描述 |
enable | YES: 开启 NO: 关闭 |
注意
开启该模式后,当前用户发布出去的视频画面会跟随设备的重力感应方向进行相应的调整,同时本地预览画面保持方向不变。
startScreenCaptureByReplaykit:
startScreenCaptureByReplaykit:
- (void)startScreenCaptureByReplaykit: | (NSString *)appGroup |
开始屏幕分享(该接口仅支持移动端)
startScreenCapture:onSuccess:onError:
startScreenCapture:onSuccess:onError:
- (void)startScreenCapture: | (TUIVideoView *)view |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
开始屏幕分享(该接口仅支持桌面端 Mac OS 系统)
参数 | 描述 |
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: | |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
打开本地麦克风
参数 | 描述 |
onError | 失败回调。 |
onSuccess | 成功回调。 |
quality | 音频质量。 |
closeLocalMicrophone
closeLocalMicrophone
关闭本地麦克风
updateAudioQuality:
muteLocalAudio
muteLocalAudio
暂停发布本地的音频流
unmuteLocalAudio:onError:
unmuteLocalAudio:onError:
- (void)unmuteLocalAudio: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
恢复发布本地的音频流
参数 | 描述 |
onError | 失败回调。 |
onSuccess | 成功回调。 |
setRemoteVideoView:streamType:view:
setRemoteVideoView:streamType:view:
- (void)setRemoteVideoView: | (NSString *)userId |
streamType: | |
view: | (TUIVideoView *__nullable)view |
设置远端用户视频渲染的视图控件
参数 | 描述 |
streamType | |
userId | 远端用户ID。 |
view | 视频渲染视图。 |
startPlayRemoteVideo:streamType:onPlaying:onLoading:onError:
startPlayRemoteVideo:streamType:onPlaying:onLoading:onError:
- (void)startPlayRemoteVideo: | (NSString *)userId |
streamType: | |
onPlaying: | (TUIPlayOnPlayingBlock)onPlaying |
onLoading: | (TUIPlayOnLoadingBlock)onLoading |
onError: | (TUIPlayOnErrorBlock)onError |
开始播放远端用户视频
参数 | 描述 |
onError | 错误回调。 |
onLoading | 加载回调。 |
onPlaying | 播放回调。 |
streamType | |
userId | 用户ID。 |
stopPlayRemoteVideo:streamType:
stopPlayRemoteVideo:streamType:
- (void)stopPlayRemoteVideo: | (NSString *)userId |
streamType: |
停止播放远端用户视频
参数 | 描述 |
streamType | |
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 |
getUserInfo:onSuccess:onError:
getUserInfo:onSuccess:onError:
- (void)getUserInfo: | (NSString *)userId |
onSuccess: | (TUIUserInfoBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
获取成员信息
参数 | 描述 |
onError | 错误回调。 |
onSuccess | |
userId | 用户ID。 |
changeUserRole:role:onSuccess:onError:
changeUserRole:role:onSuccess:onError:
- (void)changeUserRole: | (NSString *)userId |
role: | |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
修改用户角色(只有管理员或房主能够调用)
参数 | 描述 |
role | |
userId | 用户ID。 |
changeUserNameCard:nameCard:onSuccess:onError:
changeUserNameCard:nameCard:onSuccess:onError:
- (void)changeUserNameCard: | (NSString *)userId |
nameCard: | (NSString *)nameCard |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
修改用户房间内昵称
参数 | 描述 |
nameCard | 房间内用户昵称,最大支持32个字节。。 |
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: | |
isDisable: | (BOOL)isDisable |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
控制当前房间内所有用户是否可打开音频流、视频流采集设备的权限状态,例如:全员禁止打开麦克风、全员禁止打开摄像头(目前仅会议场景下可用,并且只有管理员或房主能够调用)
接口调用成功后:
若device类型为 SCREEN_SHARING ,SDK会通过 $TUIRoomObserver$ 中的 onScreenShareForAllUserDisableChanged 通知房间内用户。
参数 | 描述 |
device | |
isDisable | 是否禁用 。 |
onError | 操作失败回调。 |
onSuccess | 操作成功回调。 |
openRemoteDeviceByAdmin:device:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
openRemoteDeviceByAdmin:device:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
- (TUIRequest *)openRemoteDeviceByAdmin: | (NSString *)userId |
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)
参数 | 描述 |
device | |
onAccepted | 邀请被接受的回调。 |
onCancelled | 邀请被取消的回调。 |
onError | 邀请发生错误的回调。 |
onRejected | 邀请被拒绝的回调。 |
onTimeout | 邀请超时未处理的回调。 |
timeout | 超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发超时回调。 |
userId | 用户ID。 |
返回值说明:
TUIRequest 请求体。
closeRemoteDeviceByAdmin:device:onSuccess:onError:
closeRemoteDeviceByAdmin:device:onSuccess:onError:
- (void)closeRemoteDeviceByAdmin: | (NSString *)userId |
device: | |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
关闭远端用户媒体设备(只有管理员或房主能够调用)
接口调用成功后:
若device类型为 CAMERA 或 SCREEN_SHARING,SDK会通过 $TUIRoomObserver$ 中的 onUserVideoStateChanged 通知房间内用户。
参数 | 描述 |
device | |
onError | 调用失败回调。 |
onSuccess | 调用成功回调。 |
userId | 用户ID。 |
applyToAdminToOpenLocalDevice:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
applyToAdminToOpenLocalDevice:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
- (TUIRequest *)applyToAdminToOpenLocalDevice: | |
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 | |
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: | |
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 |
上麦(上麦发言模式下,需要申请)
参数 | 描述 |
onAccepted | 邀请被接受的回调。 |
onCancelled | 邀请被取消的回调。 |
onError | 邀请发生错误的回调。 |
onRejected | 邀请被拒绝的回调。 |
onTimeout | 邀请超时未处理的回调。 |
seatIndex | 麦位编号。未开启麦位,不关心麦位序列的情况下,填-1即可。 |
timeout | 超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发超时回调。 |
注意
开启上麦发言模式时,需要向主持人或管理员发起申请才允许上麦。
开启自由发言模式,直播场景可以自由上麦,上麦后开麦发言,会议场景无需调用该接口,即可开麦发言。
返回值说明:
TUIRequest 请求体。
leaveSeat:onError:
leaveSeat:onError:
- (void)leaveSeat: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
moveToSeat:onSuccess:onError:
moveToSeat:onSuccess:onError:
- (void)moveToSeat: | (NSInteger)targetSeatIndex |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
移麦
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 |
主持人/管理员 邀请用户上麦
参数 | 描述 |
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 |
主持人/管理员 将用户踢下麦
参数 | 描述 |
onError | 失败回调。 |
onSuccess | 成功回调。 |
seatIndex | 麦位编号。未开启麦位,不关心麦位序列的情况下,填-1即可。 |
userId | 用户ID。 |
getSeatApplicationList:onError:
getSeatApplicationList:onError:
- (void)getSeatApplicationList: | (TUIRequestListResponseBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
主持人/管理员 获取房间内申请上麦用户的请求列表
disableSendingMessageByAdmin:isDisable:onSuccess:onError:
disableSendingMessageByAdmin:isDisable:onSuccess:onError:
- (void)disableSendingMessageByAdmin: | (NSString *)userId |
isDisable: | (BOOL)isDisable |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
禁用远端用户的发送文本消息能力(只有管理员或房主能够调用)
参数 | 描述 |
isDisable | 是否禁用。 |
onError | 错误回调。 |
onSuccess | 成功回调。 |
userId | 用户ID。 |
disableSendingMessageForAllUser:onSuccess:onError:
disableSendingMessageForAllUser:onSuccess:onError:
- (void)disableSendingMessageForAllUser: | (BOOL)isDisable |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
禁用所有用户的发送文本消息能力(只有管理员或房主能够调用)
参数 | 描述 |
isDisable | 是否禁用。 |
onError | 错误回调。 |
onSuccess | 成功回调。 |
cancelRequest:onSuccess:onError:
cancelRequest:onSuccess:onError:
- (void)cancelRequest: | (NSString *)requestId |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
取消请求
参数 | 描述 |
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:
getMediaDeviceManager
getMediaDeviceManager
获取设备管理类
getLiveConnectionManager
getLiveConnectionManager
获取连线管理类
callExperimentalAPI:
callExperimentalAPI:
+ (id)callExperimentalAPI: | (NSString *)jsonStr |
调用实验性接口
参数 | 描述 |
jsonStr | 接口信息。 |
返回值说明:
返回结果
- TUIRoomEngine
- sharedInstance
- destroySharedInstance
- loginWithSDKAppId:userId:userSig:onSuccess:onError:
- logout:onError:
- setSelfInfoWithUserName:avatarUrl:onSuccess:onError:
- getSelfInfo
- setSelfInfo:onSuccess:onError:
- addObserver:
- removeObserver:
- createRoom:onSuccess:onError:
- destroyRoom:onError:
- enterRoom:onSuccess:onError:
- enterRoom:roomType:onSuccess:onError:
- enterRoom:roomType:options:onSuccess:onError:
- exitRoom:onSuccess:onError:
- fetchRoomInfo:onError:
- fetchRoomInfo:roomType:onSuccess:onError:
- updateRoomNameByAdmin:onSuccess:onError:
- updateRoomSeatModeByAdmin:onSuccess:onError:
- updateRoomPasswordByAdmin:onSuccess:onError:
- getRoomMetadata:onSuccess:onError:
- setRoomMetadataByAdmin
- setLocalVideoView:
- openLocalCamera:quality:onSuccess:onError:
- closeLocalCamera
- startPushLocalVideo
- stopPushLocalVideo
- updateVideoQuality:
- updateVideoQualityEx:params:
- setVideoResolutionMode:resolutionMode:
- enableGravitySensor:
- startScreenCaptureByReplaykit:
- startScreenCapture:onSuccess:onError:
- stopScreenCapture
- getScreenCaptureSources
- selectScreenCaptureTarget:
- openLocalMicrophone:onSuccess:onError:
- closeLocalMicrophone
- updateAudioQuality:
- muteLocalAudio
- unmuteLocalAudio:onError:
- setRemoteVideoView:streamType:view:
- startPlayRemoteVideo:streamType:onPlaying:onLoading:onError:
- stopPlayRemoteVideo:streamType:
- muteRemoteAudioStream:isMute:
- getUserList:onSuccess:onError:
- getUserInfo:onSuccess:onError:
- changeUserRole:role:onSuccess:onError:
- changeUserNameCard:nameCard:onSuccess:onError:
- kickRemoteUserOutOfRoom:onSuccess:onError:
- addCategoryTagForUsers:userList:onSuccess:onError:
- removeCategoryTagForUsers:userList:onSuccess:onError:
- getUserListByTag:nextSequence:onSuccess:onError:
- setCustomInfoForUser:onSuccess:onError:
- disableDeviceForAllUserByAdmin:isDisable:onSuccess:onError:
- openRemoteDeviceByAdmin:device:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
- closeRemoteDeviceByAdmin:device:onSuccess:onError:
- applyToAdminToOpenLocalDevice:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
- setMaxSeatCount:onSuccess:onError:
- getSeatList:onError:
- lockSeatByAdmin:lockMode:onSuccess:onError:
- takeSeat:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
- leaveSeat:onError:
- moveToSeat:onSuccess:onError:
- takeUserOnSeatByAdmin:userId:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
- kickUserOffSeatByAdmin:userId:onSuccess:onError:
- getSeatApplicationList:onError:
- disableSendingMessageByAdmin:isDisable:onSuccess:onError:
- disableSendingMessageForAllUser:onSuccess:onError:
- cancelRequest:onSuccess:onError:
- responseRemoteRequest:agree:onSuccess:onError:
- setBeautyLevel:beautyLevel:
- setWhitenessLevel:
- getExtension:
- getMediaDeviceManager
- getLiveConnectionManager
- callExperimentalAPI: