Copyright (c) 2021 Tencent. All rights reserved.
Module:   TUIRoomEngine @ TUIKitEngineFunction: TUIRoomEngine 主功能接口Version: 1.5.1
TUIRoomEngine
TUIRoomEngine
| 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: | 进入房间 | 
| exitRoom:onSuccess:onError: | 离开房间 | 
| connectOtherRoom:userId:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError: | 连接其他房间 | 
| disconnectOtherRoom:onError: | 断开与其他房间的连接 | 
| fetchRoomInfo:onError: | 获取房间信息 | 
| updateRoomNameByAdmin:onSuccess:onError: | 更新房间名称(只有管理员或房主能够调用) | 
| updateRoomSpeechModeByAdmin:onSuccess:onError: | 设置房间麦控模式(只有管理员或房主能够调用) | 
| setLocalVideoView:view: | 设置本地用户视频渲染的视图控件 | 
| openLocalCamera:quality:onSuccess:onError: | 打开本地摄像头 | 
| closeLocalCamera | 关闭本地摄像头 | 
| startPushLocalVideo | 开始推送本地视频。默认开启 | 
| stopPushLocalVideo | 停止推送本地视频 | 
| updateVideoQuality: | 更新本地视频编码质量设置 | 
| updateVideoQualityEx:params: | 设置视频编码器的编码参数 | 
| setVideoResolutionMode:resolutionMode: | 设置视频编码器分辨率模式(横屏分辨率 or 竖屏分辨率) | 
| enableGravitySensor: | 开启重力感应模式 | 
| startScreenCaptureByReplaykit: | 开始屏幕分享(该接口仅支持移动端) | 
| startScreenCapture:onSuccess:onError: | 开始屏幕分享(该接口仅支持桌面端 Mac OS 系统) | 
| stopScreenCapture | 结束屏幕分享 | 
| getScreenCaptureSources | 枚举可分享的屏幕和窗口(该接口仅支持 Mac OS 系统) | 
| selectScreenCaptureTarget: | 选取要分享的屏幕或窗口(该接口仅支持 Mac OS 系统) | 
| openLocalMicrophone:onSuccess:onError: | 打开本地麦克风 | 
| closeLocalMicrophone | 关闭本地麦克风 | 
| 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: | 修改用户角色(只有管理员或房主能够调用) | 
| kickRemoteUserOutOfRoom:onSuccess:onError: | 将远端用户踢出房间(只有管理员或房主能够调用) | 
| addCategoryTagForUsers:userList:onSuccess:onError: | 为用户增加标记(只有房主能够调用) | 
| removeCategoryTagForUsers:userList:onSuccess:onError: | 为用户移除标记(只有房主能够调用) | 
| getUserListByTag:nextSequence: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: | 下麦 | 
| takeUserOnSeatByAdmin:userId:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError: | 主持人/管理员 邀请用户上麦 | 
| kickUserOffSeatByAdmin:userId:onSuccess:onError: | 主持人/管理员 将用户踢下麦 | 
| sendTextMessage:onSuccess:onError: | 发送本文消息 | 
| sendCustomMessage:onSuccess:onError: | 发送自定义消息 | 
| disableSendingMessageByAdmin:isDisable:onSuccess:onError: | 禁用远端用户的发送文本消息能力(只有管理员或房主能够调用) | 
| disableSendingMessageForAllUser:onSuccess:onError: | 禁用所有用户的发送文本消息能力(只有管理员或房主能够调用) | 
| cancelRequest:onSuccess:onError: | 取消请求 | 
| responseRemoteRequest:agree:onSuccess:onError: | 回复请求 | 
| switchCamera: | 切换前置或后置摄像头(仅适用于移动端) | 
| getDevicesList: | 获取设备列表(仅适用于桌面端) | 
| setCurrentDevice:deviceId: | 设置当前要使用的设备(仅适用于桌面端) | 
| setBeautyLevel:beautyLevel: | 设置美颜级别 | 
| setWhitenessLevel: | 设置美白级别 | 
| callExperimentalAPI: | 调用实验性接口 | 
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
获取本地用户登录的基本信息
返回值说明:
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)observer | 
设置事件回调
您可以通过 TUIRoomObserver 获得各类事件通知(比如:错误码,远端用户进房,音视频状态参数等)
removeObserver:
removeObserver:
| – (void)removeObserver: | (id)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 | 
解散房间
| onError | 失败回调 | 
| onSuccess | 成功回调 | 
enterRoom:onSuccess:onError:
enterRoom:onSuccess:onError:
| – (void)enterRoom: | (NSString *)roomId | 
| onSuccess: | (TUIRoomInfoBlock)onSuccess | 
| onError: | (TUIErrorBlock)onError | 
进入房间
| onError | 失败回调 | 
| onSuccess | 成功回调 | 
| roomId | 房间ID | 
exitRoom:onSuccess:onError:
exitRoom:onSuccess:onError:
| – (void)exitRoom: | (BOOL)syncWaiting | 
| onSuccess: | (TUISuccessBlock)onSuccess | 
| onError: | (TUIErrorBlock)onError | 
离开房间
| 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 | 
注意用于直播场景下的申请跨房连麦
返回值说明:
请求体
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 | 
更新房间名称(只有管理员或房主能够调用)
| onError | 失败回调 | 
| onSuccess | 成功回调 | 
| roomName | 房间名称 | 
updateRoomSpeechModeByAdmin:onSuccess:onError:
updateRoomSpeechModeByAdmin:onSuccess:onError:
| – (void)updateRoomSpeechModeByAdmin: | (TUISpeechMode)mode | 
| onSuccess: | (TUISuccessBlock)onSuccess | 
| onError: | (TUIErrorBlock)onError | 
设置房间麦控模式(只有管理员或房主能够调用)
| mode | kFreeToSpeak: 自由发言模式, 用户可以自由开启麦克风和扬声器;kApplyToSpeak: 申请发言模式,用户requestOpenLocalMicrophone 或 requestOpenLocalCamera 向房主或管理员申请后,方可打开麦克风和摄像头开始发言kkSpeakAfterTakingSeat: 上麦发言模式,KConference房间内,所有人在发言前,必须takeSeat,才能进行麦克风和摄像头操作。 | 
| onError | 错误回调 | 
| onSuccess | 成功回调 | 
setLocalVideoView:view:
setLocalVideoView:view:
| – (void)setLocalVideoView: | (TUIVideoStreamType)streamType | 
| view: | (TUIVideoView *__nullable)view | 
设置本地用户视频渲染的视图控件
| streamType | 视频流的类型,定义可参考 TUIVideoStreamType 的定义 | 
| view | 视频渲染视图 | 
openLocalCamera:quality:onSuccess:onError:
openLocalCamera:quality:onSuccess:onError:
| – (void)openLocalCamera: | (BOOL)isFront | 
| quality: | (TUIVideoQuality)quality | 
| onSuccess: | (TUISuccessBlock)onSuccess | 
| onError: | (TUIErrorBlock)onError | 
打开本地摄像头
| isFront | YES: 前置 NO: 后置 | 
| onError | 失败回调 | 
| onSuccess | 成功回调 | 
closeLocalCamera
closeLocalCamera
关闭本地摄像头
startPushLocalVideo
startPushLocalVideo
开始推送本地视频。默认开启
stopPushLocalVideo
stopPushLocalVideo
停止推送本地视频
updateVideoQuality:
updateVideoQuality:
| – (void)updateVideoQuality: | (TUIVideoQuality)quality | 
更新本地视频编码质量设置
updateVideoQualityEx:params:
updateVideoQualityEx:params:
| – (void)updateVideoQualityEx: | (TUIVideoStreamType)streamType | 
| params: | (TUIRoomVideoEncoderParams *)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 | 
开始屏幕分享(该接口仅支持移动端)
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
结束屏幕分享
getScreenCaptureSources
getScreenCaptureSources
枚举可分享的屏幕和窗口(该接口仅支持 Mac OS 系统)
当您在对接桌面端系统的屏幕分享功能时,一般都需要展示一个选择分享目标的界面,这样用户能够使用这个界面选择是分享整个屏幕还是某个窗口通过本接口,您就可以查询到当前系统中可用于分享的窗口的 ID、名称以及缩略图注意返回的列表中包含屏幕和应用窗口,屏幕是列表中的第一个元素, 如果用户有多个显示器,那么每个显示器都是一个分享目标
返回值说明:
窗口列表包括屏幕
selectScreenCaptureTarget:
selectScreenCaptureTarget:
| – (void)selectScreenCaptureTarget: | (NSString *)targetId | 
选取要分享的屏幕或窗口(该接口仅支持 Mac OS 系统)
当您通过 getScreenCaptureSources 获取到可以分享的屏幕和窗口之后,您可以调用该接口选定期望分享的目标屏幕或目标窗口在屏幕分享的过程中,您也可以随时调用该接口以切换分享目标
openLocalMicrophone:onSuccess:onError:
openLocalMicrophone:onSuccess:onError:
| – (void)openLocalMicrophone: | (TUIAudioQuality)quality | 
| onSuccess: | (TUISuccessBlock)onSuccess | 
| onError: | (TUIErrorBlock)onError | 
打开本地麦克风
| onError | 失败回调 | 
| onSuccess | 成功回调 | 
| quality | 音频质量 | 
closeLocalMicrophone
closeLocalMicrophone
关闭本地麦克风
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: | (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 | 
将远端用户禁音
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 | 
修改用户角色(只有管理员或房主能够调用)
| onError | 错误回调 | 
| onSuccess | 成功回调 | 
| role | 用户角色 详细定义可以参考 TUIRole 的定义 | 
| userId | 用户ID | 
kickRemoteUserOutOfRoom:onSuccess:onError:
kickRemoteUserOutOfRoom:onSuccess:onError:
| – (void)kickRemoteUserOutOfRoom: | (NSString *)userId | 
| onSuccess: | (TUISuccessBlock)onSuccess | 
| onError: | (TUIErrorBlock)onError | 
将远端用户踢出房间(只有管理员或房主能够调用)
| onError | 错误回调 | 
| onSuccess | 成功回调 | 
| userId | 用户ID | 
addCategoryTagForUsers:userList:onSuccess:onError:
addCategoryTagForUsers:userList:onSuccess:onError:
| – (void)addCategoryTagForUsers: | (NSInteger)tag | 
| userList: | (NSArray *)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 *)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,您可以自定义。 | 
disableDeviceForAllUserByAdmin:isDisable:onSuccess:onError:
disableDeviceForAllUserByAdmin:isDisable:onSuccess:onError:
| – (void)disableDeviceForAllUserByAdmin: | (TUIMediaDevice)device | 
| isDisable: | (BOOL)isDisable | 
| onSuccess: | (TUISuccessBlock)onSuccess | 
| onError: | (TUIErrorBlock)onError | 
控制当前房间内所有用户是否可打开音频流、视频流采集设备的权限状态,例如:全员禁止打开麦克风、全员禁止打开摄像头、全员禁止打开屏幕分享(目前仅会议场景下可用,并且只有管理员或房主能够调用)
| 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 | 媒体设备。详细定义参考: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 | 媒体设备。详细定义参考: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 | 用户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 | 
上麦(上麦发言模式下,需要申请)
| onAccepted | 邀请被接受的回调 | 
| onCancelled | 邀请被取消的回调 | 
| onError | 邀请发生错误的回调 | 
| onRejected | 邀请被拒绝的回调 | 
| onTimeout | 邀请超时未处理的回调 | 
| seatIndex | 麦位编号。会议场景下无需关心该参数,填0即可。 | 
| timeout | 超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发超时回调 | 
注意开启上麦发言模式时,需要向主持人或管理员发起申请才允许上麦。开启自由发言模式,直播场景可以自由上麦,上麦后开麦发言,会议场景无需调用该接口,即可开麦发言。
返回值说明:
TUIRequest 请求体
leaveSeat:onError:
leaveSeat:onError:
| – (void)leaveSeat: | (TUISuccessBlock)onSuccess | 
| onError: | (TUIErrorBlock)onError | 
下麦
| 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 | 
主持人/管理员 邀请用户上麦
| onAccepted | 邀请被接受的回调 | 
| onCancelled | 邀请被取消的回调 | 
| onError | 邀请发生错误的回调 | 
| onRejected | 邀请被拒绝的回调 | 
| onTimeout | 邀请超时未处理的回调 | 
| seatIndex | 麦位编号。会议场景无需关心,填0即可。 | 
| 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 | 麦位编号。会议场景无需关心,填0即可。 | 
| userId | 用户ID | 
sendTextMessage:onSuccess:onError:
sendTextMessage:onSuccess:onError:
| – (void)sendTextMessage: | (NSString *)message | 
| onSuccess: | (TUISuccessBlock)onSuccess | 
| onError: | (TUIErrorBlock)onError | 
发送本文消息
| message | 消息内容 | 
| onError | 错误回调 | 
| onSuccess | 成功回调 | 
sendCustomMessage:onSuccess:onError:
sendCustomMessage:onSuccess:onError:
| – (void)sendCustomMessage: | (NSString *)message | 
| onSuccess: | (TUISuccessBlock)onSuccess | 
| onError: | (TUIErrorBlock)onError | 
发送自定义消息
| message | 消息内容 | 
| onError | 错误回调 | 
| onSuccess | 成功回调 | 
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事件通知) | 
注意在收到信令请求时,可以使用此接口来回复接收到的请求
switchCamera:
switchCamera:
| – (NSInteger)switchCamera: | (BOOL)frontCamera | 
切换前置或后置摄像头(仅适用于移动端)
返回值说明:
0:操作成功;负数:操作失败
getDevicesList:
getDevicesList:
| – (NSArray * _Nullable)getDevicesList: | (TUIMediaDeviceType)type | 
获取设备列表(仅适用于桌面端)
| type | 设备类型,指定需要获取哪种设备的列表。详见 TXMediaDeviceType 定义。 | 
注意 使用完毕后请调用 release 方法释放资源,这样可以让 SDK 维护 ITXDeviceCollection 对象的生命周期。 不要使用 delete 释放返回的 Collection 对象,delete ITXDeviceCollection* 指针会导致异常崩溃。 type 只支持 TXMediaDeviceTypeMic、TXMediaDeviceTypeSpeaker、TXMediaDeviceTypeCamera。 此接口只支持 Mac 和 Windows 平台。
setCurrentDevice:deviceId:
setCurrentDevice:deviceId:
| – (NSInteger)setCurrentDevice: | (TUIMediaDeviceType)type | 
| deviceId: | (NSString *)deviceId | 
设置当前要使用的设备(仅适用于桌面端)
| deviceId | 设备ID,您可以通过接口 getDevicesList 获得设备 ID。 | 
| type | 设备类型,详见 TXMediaDeviceType 定义。 | 
返回值说明:
0:操作成功;负数:操作失败。
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 表示效果最明显。 | 
callExperimentalAPI:
callExperimentalAPI:
| – (void)callExperimentalAPI: | (NSString *)jsonStr | 
调用实验性接口
对音视频的解决方案有疑惑?想了解解决方案收费?  联系解决方案专家
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠
阿里云解决方案也看看?: 点击对比阿里云的解决方案
					 
					
					
暂无评论,你要说点什么吗?