腾讯云实时音视频TUIRoomEngine_音视频解决方案_同尘科技

实时音视频 2年前 (2023-09-28) 浏览 55

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 获得各类事件通知(比如:错误码,远端用户进房,音视频状态参数等)

参数 描述
observer 监听的实例

removeObserver

removeObserver

void removeObserver (TUIRoomObserver* observer)

移除事件回调

参数 描述
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)

将远端用户禁音

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

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)

调用实验性接口

参数 描述
jsonStr 接口信息

对音视频的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠

阿里云解决方案也看看?: 点击对比阿里云的解决方案

- 0人点赞 -

发表点评 (0条)

not found

暂无评论,你要说点什么吗?