Copyright (c) 2021 Tencent. All rights reserved.
Module: TUIRoomEngine @ TUIKitEngineFunction: TUIRoomEngine 主功能接口Version: 1.5
TUIRoomEngine
TUIRoomEngine
login |
登录接口,您需要先初始化用户信息后才能进入房间,并进行一系列的操作 |
logout |
退出登录接口,会有主动离开房间操作、销毁资源 |
setSelfInfo |
设置本地用户名称和头像 |
getSelfInfo |
获取本地用户登录的基本信息 |
setSelfInfo |
设置本地用户信息 |
addObserver |
设置事件回调 |
removeObserver |
移除事件回调 |
createRoom |
创建房间 |
destroyRoom |
解散房间 |
enterRoom |
进入房间 |
exitRoom |
离开房间 |
connectOtherRoom |
连接其他房间 |
disconnectOtherRoom |
断开与其他房间的连接 |
fetchRoomInfo |
获取房间信息 |
updateRoomNameByAdmin |
更新房间名称(只有管理员或房主能够调用) |
updateRoomSpeechModeByAdmin |
设置房间管理模式(只有管理员或房主能够调用) |
setLocalVideoView |
设置本地用户视频渲染的视图控件 |
openLocalCamera |
打开本地摄像头 |
closeLocalCamera |
关闭本地摄像头 |
startPushLocalVideo |
开始推送本地视频。默认开启 |
stopPushLocalVideo |
停止推送本地视频 |
updateVideoQuality |
更新本地视频编码质量设置 |
updateVideoQualityEx |
设置视频编码器的编码参数 |
setVideoResolutionMode |
设置视频编码器分辨率模式(横屏分辨率 or 竖屏分辨率) |
startScreenSharing |
开始屏幕分享。 |
stopScreenSharing |
结束屏幕分享 |
getScreenSharingTargetList |
获取分享对象列表 |
selectScreenSharingTarget |
选择屏幕分享对象 |
openLocalMicrophone |
打开本地麦克风 |
closeLocalMicrophone |
关闭本地麦克风 |
muteLocalAudio |
暂停发布本地的音频流 |
unmuteLocalAudio |
恢复发布本地的音频流 |
setRemoteVideoView |
设置远端用户视频渲染的视图控件 |
startPlayRemoteVideo |
开始播放远端用户视频 |
stopPlayRemoteVideo |
停止播放远端用户视频 |
muteRemoteAudioStream |
将远端用户禁音 |
getUserList |
获取房间内的成员列表 |
getUserInfo |
获取成员信息 |
changeUserRole |
修改用户角色(只有管理员或房主能够调用) |
kickRemoteUserOutOfRoom |
将远端用户踢出房间(只有管理员或房主能够调用) |
disableDeviceForAllUserByAdmin |
全体用户媒体设备管理 |
openRemoteDeviceByAdmin |
请求远端用户打开媒体设备(只有管理员或房主能够调用) |
closeRemoteDeviceByAdmin |
关闭远端用户媒体设备(只有管理员或房主能够调用) |
applyToAdminToOpenLocalDevice |
请求打开本地媒体设备(普通用户可用) |
setMaxSeatCount |
设置最大麦位数(仅支持进房前和创建房间时设置) |
getSeatList |
获取麦位列表 |
lockSeatByAdmin |
锁定麦位(只有管理员或群主能够调用,包括位置锁定、音频状态锁定和视频状态锁定) |
takeSeat |
上麦(上麦发言模式下,需要申请) |
leaveSeat |
下麦 |
takeUserOnSeatByAdmin |
主持人/管理员 邀请用户上麦 |
kickUserOffSeatByAdmin |
主持人/管理员 将用户下麦 |
sendTextMessage |
发送本文消息 |
sendCustomMessage |
发送自定义消息 |
disableSendingMessageByAdmin |
禁用远端用户的发送文本消息能力(只有管理员或房主能够调用) |
disableSendingMessageForAllUser |
禁用所有用户的发送文本消息能力(只有管理员或房主能够调用) |
cancelRequest |
取消请求 |
responseRemoteRequest |
回复请求 |
getDevicesList |
获取设备列表(仅适用于桌面端) |
setCurrentDevice |
设置当前要使用的设备(仅适用于桌面端) |
setBeautyLevel |
设置美颜级别 |
setWhitenessLevel |
设置美白级别 |
callExperimentalAPI |
调用实验性接口 |
login
login
void login |
(int sdkAppId |
|
const char* userId |
|
const char* userSig |
|
TUICallback* callback) |
登录接口,您需要先初始化用户信息后才能进入房间,并进行一系列的操作
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
sdkAppId |
它是腾讯云用于区分客户的唯一标识,进入腾讯云实时音视频 控制台创建应用,即可看到SDKAppId |
userId |
用户ID,用于区分不同用户 |
userSig |
用户签名,用于腾讯云流量的认证 |
logout
logout
void logout |
(TUICallback* callback) |
退出登录接口,会有主动离开房间操作、销毁资源
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
setSelfInfo
setSelfInfo
void setSelfInfo |
(const char* userName |
|
const char* avatarURL |
|
TUICallback* callback) |
设置本地用户名称和头像
avatarURL |
用户头像URL地址 |
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
userName |
用户名称 |
getSelfInfo
getSelfInfo
获取本地用户登录的基本信息
返回值说明:
TUILoginUserInfo:用户登录信息
setSelfInfo
setSelfInfo
void setSelfInfo |
(const TUILoginUserInfo& userInfo |
|
TUICallback* callback) |
设置本地用户信息
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
userInfo |
本地用户信息 |
addObserver
addObserver
void addObserver |
(TUIRoomObserver* observer) |
设置事件回调
您可以通过 TUIRoomObserver 获得各类事件通知(比如:错误码,远端用户进房,音视频状态参数等)
removeObserver
removeObserver
void removeObserver |
(TUIRoomObserver* observer) |
移除事件回调
createRoom
createRoom
void createRoom |
(const TUIRoomInfo& roomInfo |
|
TUICallback* callback) |
创建房间
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
roomInfo |
房间信息,可以初始化房间的一些设置 |
destroyRoom
destroyRoom
void destroyRoom |
(TUICallback* callback) |
解散房间
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
enterRoom
enterRoom
void enterRoom |
(const char* roomId |
|
TUIValueCallback* callback) |
进入房间
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
roomId |
房间ID |
exitRoom
exitRoom
void exitRoom |
(bool syncWaiting |
|
TUICallback* callback) |
离开房间
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
syncWaiting |
是否同步等待接口返回 |
connectOtherRoom
connectOtherRoom
TUIRequest connectOtherRoom |
(const char* roomId |
|
const char* userId |
|
int timeout |
|
TUIRequestCallback* callback) |
连接其他房间
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
roomId |
房间ID |
timeout |
超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发超时回调 |
userId |
用户ID |
注意用于直播场景下的申请跨房连麦
返回值说明:
TUIRequest 请求体
disconnectOtherRoom
disconnectOtherRoom
void disconnectOtherRoom |
(TUICallback* callback) |
断开与其他房间的连接
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
注意用于直播场景下的断开跨房连麦
fetchRoomInfo
fetchRoomInfo
void fetchRoomInfo |
(TUIValueCallback* callback) |
获取房间信息
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
updateRoomNameByAdmin
updateRoomNameByAdmin
void updateRoomNameByAdmin |
(const char* roomName |
|
TUICallback* callback) |
更新房间名称(只有管理员或房主能够调用)
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
roomName |
房间名称 |
updateRoomSpeechModeByAdmin
updateRoomSpeechModeByAdmin
void updateRoomSpeechModeByAdmin |
(TUISpeechMode mode |
|
TUICallback* callback) |
设置房间管理模式(只有管理员或房主能够调用)
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
mode |
kFreeToSpeak: 自由发言模式, 用户可以自由开启麦克风和扬声器;kApplyToSpeak: 申请发言模式,用户requestOpenLocalMicrophone 或 requestOpenLocalCamera 向房主或管理员申请后,方可打开麦克风和摄像头开始发言kkSpeakAfterTakingSeat: 上麦发言模式。KConference房间内,所有人在发言前,必须takeSeat,才能进行麦克风和摄像头操作。 |
setLocalVideoView
setLocalVideoView
void setLocalVideoView |
(TUIVideoStreamType streamType |
|
const TUIVideoView& view) |
设置本地用户视频渲染的视图控件
streamType |
视频流的类型,定义可参考 TUIVideoStreamType 的定义 |
view |
视频渲染视图 |
openLocalCamera
openLocalCamera
void openLocalCamera |
(bool isFront |
|
TUIVideoQuality quality |
|
TUICallback* callback) |
打开本地摄像头
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
isFront |
true: 前置 false: 后置。 该参数只在移动端生效 |
closeLocalCamera
closeLocalCamera
关闭本地摄像头
startPushLocalVideo
startPushLocalVideo
开始推送本地视频。默认开启
stopPushLocalVideo
stopPushLocalVideo
停止推送本地视频
updateVideoQuality
updateVideoQuality
void updateVideoQuality |
(TUIVideoQuality quality) |
更新本地视频编码质量设置
updateVideoQualityEx
updateVideoQualityEx
void updateVideoQualityEx |
(TUIVideoStreamType streamType |
|
const TUIVideoEncoderParams& params) |
设置视频编码器的编码参数
params |
视频编码器的编码参数,定义可参考 TUIVideoEncoderParams 的定义 |
streamType |
视频流的类型,定义可参考 TUIVideoStreamType 的定义 |
setVideoResolutionMode
setVideoResolutionMode
void setVideoResolutionMode |
(TUIVideoStreamType streamType |
|
TUIResolutionMode resolutionMode) |
设置视频编码器分辨率模式(横屏分辨率 or 竖屏分辨率)
resolutionMode |
分辨率模式,定义可参考 TUIResolutionMode 的定义 |
streamType |
视频流的类型,定义可参考 TUIVideoStreamType 的定义 |
startScreenSharing
startScreenSharing
void startScreenSharing |
(const TUISourceId& sourceId |
|
TUICallback* callback) |
开始屏幕分享。
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
sourceId |
屏幕分享窗口或屏幕的句柄,可以调用GetScreenSharingTargetList获取,移动端填空即可。 |
stopScreenSharing
stopScreenSharing
结束屏幕分享
getScreenSharingTargetList
getScreenSharingTargetList
void getScreenSharingTargetList |
(TUIListCallback* list) |
获取分享对象列表
当您在对接桌面端系统的屏幕分享功能时,一般都需要展示一个选择分享目标的界面,这样用户能够使用这个界面选择是分享整个屏幕还是某个窗口通过本接口,您就可以查询到当前系统中可用于分享的窗口的 ID、名称以及缩略图
list |
调用接口的回调,用于通知接口调用的成功或者失败 |
selectScreenSharingTarget
selectScreenSharingTarget
void selectScreenSharingTarget |
(const TUISourceId& sourceId) |
选择屏幕分享对象
当您通过 getScreenSharingTargetList 获取到可以分享的屏幕和窗口之后,您可以调用该接口选定期望分享的目标屏幕或目标窗口
sourceId |
屏幕分享窗口或屏幕的句柄,可以调用 getScreenSharingTargetList 获取 |
openLocalMicrophone
openLocalMicrophone
void openLocalMicrophone |
(TUIAudioQuality quality |
|
TUICallback* callback) |
打开本地麦克风
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
closeLocalMicrophone
closeLocalMicrophone
关闭本地麦克风
muteLocalAudio
muteLocalAudio
暂停发布本地的音频流
unmuteLocalAudio
unmuteLocalAudio
void unmuteLocalAudio |
(TUICallback* callback) |
恢复发布本地的音频流
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
setRemoteVideoView
setRemoteVideoView
void setRemoteVideoView |
(const char* userId |
|
TUIVideoStreamType streamType |
|
const TUIVideoView& view) |
设置远端用户视频渲染的视图控件
streamType |
视频流的类型,定义可参考 TUIVideoStreamType 的定义 |
userId |
远端用户ID |
view |
视频渲染视图 |
startPlayRemoteVideo
startPlayRemoteVideo
void startPlayRemoteVideo |
(const char* userId |
|
TUIVideoStreamType streamType |
|
TUIPlayCallback* callback) |
开始播放远端用户视频
callback |
调用接口的回调,用于通知播放时的状态回调 |
streamType |
视频流的类型 详细定义可以参考 TUIVideoStreamType 的定义 |
userId |
用户ID |
stopPlayRemoteVideo
stopPlayRemoteVideo
void stopPlayRemoteVideo |
(const char* userId |
|
TUIVideoStreamType streamType) |
停止播放远端用户视频
streamType |
视频流的类型 详细定义可以参考 TUIVideoStreamType 的定义 |
userId |
用户ID |
muteRemoteAudioStream
muteRemoteAudioStream
void muteRemoteAudioStream |
(const char * userId |
|
bool isMute) |
将远端用户禁音
getUserList
getUserList
void getUserList |
(uint64_t nextSequence |
|
TUIValueCallback* callback) |
获取房间内的成员列表
callback |
调用接口的回调,用于通知接口调用的成功或者失败。成功回调中包含 TUIUserInfo list |
nextSequence |
分页拉取标志,第一次拉取填0,回调成功 如果callback返回的数据中 nextSequence 不为零,需要分页,传入再次拉取,直至为0 |
getUserInfo
getUserInfo
void getUserInfo |
(const char* userId |
|
TUIValueCallback* callback) |
获取成员信息
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
userId |
用户ID |
changeUserRole
changeUserRole
void changeUserRole |
(const char* userId |
|
TUIRole role |
|
TUICallback* callback) |
修改用户角色(只有管理员或房主能够调用)
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
role |
用户角色 详细定义可以参考 TUIRole 的定义 |
userId |
用户ID |
kickRemoteUserOutOfRoom
kickRemoteUserOutOfRoom
void kickRemoteUserOutOfRoom |
(const char* userId |
|
TUICallback* callback) |
将远端用户踢出房间(只有管理员或房主能够调用)
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
userId |
用户ID |
disableDeviceForAllUserByAdmin
disableDeviceForAllUserByAdmin
void disableDeviceForAllUserByAdmin |
(TUIMediaDevice device |
|
bool isDisable |
|
TUICallback* callback) |
全体用户媒体设备管理
callback |
操作回调 |
device |
设备。 详细定义参考:TUIMediaDevice |
isDisable |
否禁用 |
openRemoteDeviceByAdmin
openRemoteDeviceByAdmin
TUIRequest openRemoteDeviceByAdmin |
(const char* userId |
|
TUIMediaDevice device |
|
int timeout |
|
TUIRequestCallback* callback) |
请求远端用户打开媒体设备(只有管理员或房主能够调用)
callback |
调用接口的回调,用于通知请求状态的回调,详细定义参考: TUIRequestCallback |
device |
媒体设备。详细定义参考:TUIMediaDevice |
timeout |
超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发超时回调 |
userId |
用户ID |
返回值说明:
TUIRequest 请求体
closeRemoteDeviceByAdmin
closeRemoteDeviceByAdmin
void closeRemoteDeviceByAdmin |
(const char* userId |
|
TUIMediaDevice device |
|
TUICallback* callback) |
关闭远端用户媒体设备(只有管理员或房主能够调用)
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
device |
媒体设备。详细定义参考:TUIMediaDevice |
userId |
用户ID |
applyToAdminToOpenLocalDevice
applyToAdminToOpenLocalDevice
TUIRequest applyToAdminToOpenLocalDevice |
(TUIMediaDevice device |
|
int timeout |
|
TUIRequestCallback* callback) |
请求打开本地媒体设备(普通用户可用)
callback |
调用接口的回调,用于通知请求的回调状态,详细定义参考: TUIRequestCallback |
device |
用户ID device 媒体设备。详细定义参考:TUIMediaDevice |
timeout |
超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发超时回调 |
返回值说明:
TUIRequest 请求体
setMaxSeatCount
setMaxSeatCount
void setMaxSeatCount |
(uint32_t maxSeatCount |
|
TUICallback* callback) |
设置最大麦位数(仅支持进房前和创建房间时设置)
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
maxSeatCount |
最大麦位数 |
getSeatList
getSeatList
void getSeatList |
(TUIListCallback* callback) |
获取麦位列表
callback |
调用接口的回调,用于通知接口调用的成功或者失败,成功回调中会包含 TUISeatInfo list信息 |
lockSeatByAdmin
lockSeatByAdmin
void lockSeatByAdmin |
(int seatIndex |
|
const TUISeatLockParams& lockParams |
|
TUICallback* callback) |
锁定麦位(只有管理员或群主能够调用,包括位置锁定、音频状态锁定和视频状态锁定)
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
lockParams |
锁麦参数。详情参考:TUIRoomDefine.SeatLockParams |
seatIndex |
麦位编号 |
takeSeat
takeSeat
TUIRequest takeSeat |
(int seatIndex |
|
int timeout |
|
TUIRequestCallback* callback) |
上麦(上麦发言模式下,需要申请)
callback |
调用接口的回调,用于通知请求的回调状态,详细定义参考: TUIRequestCallback |
seatIndex |
麦位编号 |
timeout |
超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发超时回调 |
注意开启上麦发言模式时,需要向主持人或管理员发起申请才允许上麦。开启自由发言模式,直播场景可以自由上麦,上麦后开麦发言,会议场景无需调用该接口,即可开麦发言。
返回值说明:
TUIRequest 请求体
leaveSeat
leaveSeat
void leaveSeat |
(TUICallback* callback) |
下麦
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
takeUserOnSeatByAdmin
takeUserOnSeatByAdmin
TUIRequest takeUserOnSeatByAdmin |
(int seatIndex |
|
const char* userId |
|
int timeout |
|
TUIRequestCallback* callback) |
主持人/管理员 邀请用户上麦
callback |
调用接口的回调,用于通知请求的回调状态,详细定义参考: TUIRequestCallback |
seatIndex |
麦位编号。会议场景无需关心,填0即可。 |
timeout |
超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发超时回调 |
userId |
用户ID |
返回值说明:
TUIRequest 请求体
kickUserOffSeatByAdmin
kickUserOffSeatByAdmin
void kickUserOffSeatByAdmin |
(int seatIndex |
|
const char* userId |
|
TUICallback* callback) |
主持人/管理员 将用户下麦
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
seatIndex |
麦位编号 |
userId |
用户ID |
sendTextMessage
sendTextMessage
void sendTextMessage |
(const char* message |
|
TUICallback* callback) |
发送本文消息
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
message |
消息内容 |
sendCustomMessage
sendCustomMessage
void sendCustomMessage |
(const char* message |
|
TUICallback* callback) |
发送自定义消息
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
message |
消息内容 |
disableSendingMessageByAdmin
disableSendingMessageByAdmin
void disableSendingMessageByAdmin |
(const char* userId |
|
bool isDisable |
|
TUICallback* callback) |
禁用远端用户的发送文本消息能力(只有管理员或房主能够调用)
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
isDisable |
是否禁用 |
userId |
用户ID |
disableSendingMessageForAllUser
disableSendingMessageForAllUser
void disableSendingMessageForAllUser |
(bool isDisable |
|
TUICallback* callback) |
禁用所有用户的发送文本消息能力(只有管理员或房主能够调用)
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
isDisable |
是否禁用 |
cancelRequest
cancelRequest
void cancelRequest |
(const char* requestId |
|
TUICallback* callback) |
取消请求
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
requestId |
请求ID(发送请求的接口返回或者OnRequestReceived事件通知) |
注意可以使用此接口来取消已发出的请求
responseRemoteRequest
responseRemoteRequest
void responseRemoteRequest |
(const char* requestId |
|
bool agree |
|
TUICallback* callback) |
回复请求
agree |
是否同意 true: 同意请求, false: 拒绝请求 |
callback |
调用接口的回调,用于通知接口调用的成功或者失败 |
requestId |
请求ID(发送请求的接口返回或者OnRequestReceived事件通知) |
注意在收到信令请求时,可以使用此接口来回复接收到的请求
getDevicesList
getDevicesList
ITXDeviceCollection* getDevicesList |
(liteav::TXMediaDeviceType type) |
获取设备列表(仅适用于桌面端)
type |
设备类型,指定需要获取哪种设备的列表。详见 TXMediaDeviceType 定义。 |
注意 使用完毕后请调用 release 方法释放资源,这样可以让 SDK 维护 ITXDeviceCollection 对象的生命周期。 不要使用 delete 释放返回的 Collection 对象,delete ITXDeviceCollection* 指针会导致异常崩溃。 type 只支持 TXMediaDeviceTypeMic、TXMediaDeviceTypeSpeaker、TXMediaDeviceTypeCamera。 此接口只支持 Mac 和 Windows 平台。
setCurrentDevice
setCurrentDevice
int setCurrentDevice |
(liteav::TXMediaDeviceType type |
|
const char* deviceId) |
设置当前要使用的设备(仅适用于桌面端)
deviceId |
设备ID,您可以通过接口 getDevicesList 获得设备 ID。 |
type |
设备类型,详见 TXMediaDeviceType 定义。 |
返回值说明:
0:操作成功;负数:操作失败。
setBeautyLevel
setBeautyLevel
void setBeautyLevel |
(int beautyStyle |
|
uint32_t beautyLevel) |
设置美颜级别
beautyLevel |
美颜级别,取值范围 0 – 9; 0 表示关闭,9 表示效果最明显。 |
beautyStyle |
美颜风格,TXBeautyStyleSmooth:光滑;TXBeautyStyleNature:自然;TXBeautyStylePitu:优图。 |
setWhitenessLevel
setWhitenessLevel
void setWhitenessLevel |
(uint32_t whitenessLevel) |
设置美白级别
whitenessLevel |
美白级别,取值范围 0 – 9;0 表示关闭,9 表示效果最明显。 |
callExperimentalAPI
callExperimentalAPI
void callExperimentalAPI |
(const char* jsonStr) |
调用实验性接口
对音视频的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠
阿里云解决方案也看看?: 点击对比阿里云的解决方案
暂无评论,你要说点什么吗?