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

实时音视频 2年前 (2023-11-17) 浏览 110

TUIRoomEngine API 简介

TUIRoomEngine API 是多人音视频房间的无 UI 接口,您可以使用这套 API 根据您的业务需求自定义封装。

createInstance

创建 TUIRoomEngine 实例。

static TUIRoomEngine createInstance()

return:TUIRoomEngine 实例。

destroyInstance

销毁TUIRoomEngine实例。

void destroyInstance()

login

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

static Future login(int sdkAppId,                                String userId,                               String userSig)

参数:

参数 类型 含义
sdkAppId int 应用信息中获取 sdkAppId 信息
userId String 用户 ID
userSig String userSig 签名。计算 userSig 的方式请参考UserSig 相关

logout

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

static Future logout()

setSelfInfo

设置本地用户名称和头像。

static Future setSelfInfo(String userName, String avatarURL)

参数:

参数 类型 含义
userName String 用户名
avatarUrl String 用户头像

setLoginUserInfo

设置登录用户信息。

static Future setLoginUserInfo(TUILoginUserInfo userInfo) 

参数:

参数 类型 含义
userInfo TUILoginUserInfo 用户信息

getSelfInfo

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

static TUILoginUserInfo getSelfInfo()

return:用户登录信息。

addObserver

添加 TUIRoomEngine 事件回调。

void addObserver(TUIRoomObserver observer)

参数:

参数 类型 含义
observer TUIRoomObserver TUIRoomEngine 事件回调

removeObserver

移除 TUIRoomEngine 事件回调。

void removeObserver(TUIRoomObserver observer)
参数 类型 含义
observer TUIRoomObserver TUIRoomEngine 事件回调

createRoom

主持人创建房间,调用 createRoom 的用户为房间的所有者。创建房间时可设置房间 ID、房间名称、以及房间是否允许加入用户开启音视频、发送消息等功能。

Future createRoom(TUIRoomInfo roomInfo)

参数:

参数 类型 含义
roomInfo TUIRoomInfo 房间基本信息

destroyRoom

销毁房间接口,销毁房间必须由房间所有者发起,销毁房间之后房间不可进入。

Future destroyRoom()

enterRoom

进入房间接口。

Future<TUIValueCallBack> enterRoom(String roomId)

参数:

参数 类型 含义
roomId String 房间号,字符串类型

exitRoom

离开房间接口,用户在执行 enterRoom 之后可通过 exitRoom 离开房间。

Future exitRoom(bool syncWaiting)

参数:

参数 类型 含义
syncWaiting bool 是否同步退出房间

connectOtherRoom

连接其他房间。说明:用于直播场景下的申请跨房连麦。

TUIRequest connectOtherRoom(String roomId,                             String userId,                             int timeout,                                TUIRequestCallback? requestCallback)

参数:

参数 类型 含义
roomId String 房间 ID
userId String 用户 ID
timeout int 时间
callback TUIRequestCallback 连接其他房间请求回调

Return:请求体

disconnectOtherRoom

断开与其他房间的连接。说明:用于直播场景下的断开跨房连麦。

Future disconnectOtherRoom()

fetchRoomInfo

获取房间信息。

Future<TUIValueCallBack> fetchRoomInfo()

updateRoomNameByAdmin

更新房间名称。

Future updateRoomNameByAdmin(String roomName)

参数:

参数 类型 含义
roomName String 房间名称

updateRoomSpeechModeByAdmin

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

Future updateRoomSpeechModeByAdmin(TUISpeechMode mode)
参数 类型 含义
mode TUISpeechMode 房间模式

setLocalVideoView

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

void setLocalVideoView(int viewId)

参数:

参数 类型 含义
viewId int 待渲染 view 指针的 int64 类型值,通过此 viewId 可转换为对应原生平台的视图,视频画面将渲染于此视图上

openLocalCamera

打开本地摄像头,开始视频流采集。

Future openLocalCamera(bool isFront,                                   TUIVideoQuality quality)

参数:

参数 类型 含义
isFront bool 是否使用前置摄像头
quality TUIVideoQuality 视频质量

closeLocalCamera

关闭本地摄像头。

void closeLocalCamera()

updateVideoQuality

设置本地视频的参数。

void updateVideoQuality(TUIVideoQuality quality)

参数:

参数 类型 含义
quality TUIVideoQuality 视频质量

updateVideoQualityEx

设置本地视频编码器参数。

void updateVideoQualityEx(      TUIVideoStreamType streamType, TUIRoomVideoEncoderParams params);
参数 类型 含义
streamType TUIVideoStreamType 视频流类型
params TUIRoomVideoEncoderParams 视频编码器参数

setVideoResolutionMode

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

void setVideoResolutionMode(      TUIVideoStreamType streamType, TUIResolutionMode resolutionMode);
参数 类型 含义
streamType TUIVideoStreamType 视频流类型
resolutionMode TUIResolutionMode 分辨率模式

enableGravitySensor

开启重力感应模式。

void enableGravitySensor(bool enable);
参数 类型 含义
enable bool 是否开启

startPushLocalVideo

开始向远端推本地视频流。

void startPushLocalVideo()

stopPushLocalVideo

停止向远端推本地视频流。

void stopPushLocalVideo()

startScreenSharing

开始屏幕分享

Future startScreenSharing({String appGroup = ''})

stopScreenSharing

结束屏幕分享

Future stopScreenSharing()

openLocalMicrophone

打开本地麦克风。

Future openLocalMicrophone(TUIAudioQuality quality)
参数 类型 含义
quality TUIAudioQuality 音频质量

closeLocalMicrophone

关闭本地麦克风。

void closeLocalMicrophone()

updateAudioQuality

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

void updateAudioQuality(TUIAudioQuality quality)

参数:

参数 类型 含义
quality TUIAudioQuality 音频质量

muteLocalAudio

停止向远端推本地音频流。

Future muteLocalAudio()

unMuteLocalAudio

开始向远端推本地音频流。

Future unMuteLocalAudio()

setRemoteVideoView

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

void setRemoteVideoView(String userId,                        TUIVideoStreamType streamType,                         int viewId)

参数:

参数 类型 含义
userId String 用户 ID
streamType TUIVideoStreamType 用户流类型
viewId int 待渲染 view 指针的 int64 类型值,通过此 viewId 可转换为对应原生平台的视图,视频画面将渲染于此视图上

startPlayRemoteVideo

开始播放远端用户视频流。

void startPlayRemoteVideo(String userId,                                                        TUIVideoStreamType streamType,                                                               TUIPlayCallback? callback)

参数:

参数 类型 含义
userId String 用户 ID
streamType TUIVideoStreamType 用户流类型
callback TUIPlayCallback? 播放结果回调

stopPlayRemoteVideo

停止播放远端用户视频流。

void stopPlayRemoteVideo(String userId,                         TUIVideoStreamType streamType)

参数:

参数 类型 含义
userId String 用户 ID
streamType TUIVideoStreamType 用户流类型

muteRemoteAudioStream

将远端用户禁音。

void muteRemoteAudioStream(String userId, boolean isMute);

参数:

参数 类型 含义
userId String 用户 ID
isMute bool 是否禁音

getUserList

获取当前房间用户列表,注意该接口一次拉取的用户列表量最大为 100 个。

Future<TUIValueCallBack> getUserList(int nextSequence)

参数:

参数 类型 含义
nextSequence int 分页拉取标志,第一次拉取填0。回调成功如果 nextSeq 不为零,需要分页,传入 nextSeq 再次拉取,直至 callback 中 nextSeq 为0

getUserInfo

获取用户的详细信息。

Future<TUIValueCallBack> getUserInfo(String userId)

参数:

参数 类型 含义
userId String 根据 userId 获取该用户的详细信息

changeUserRole

改变用户的角色,只有管理员或群主能够调用。

Future changeUserRole(String userId,                                  TUIRole role)

参数:

参数 类型 含义
userId String 用户 ID
role TUIRole 用户角色

kickRemoteUserOutOfRoom

将用户移出房间,只有管理员或群主能够调用。

Future kickRemoteUserOutOfRoom(String userId)

参数:

参数 类型 含义
userId String 用户 ID

addCategoryTagForUsers

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

Future addCategoryTagForUsers(int tag, List userList);

参数:

参数 类型 含义
tag int 标记类型。数字类型,大于等于 1000,您可以自定义。
userList List 用户列表

removeCategoryTagForUsers

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

Future removeCategoryTagForUsers(int tag, List userList);

参数:

参数 类型 含义
tag int 类型。数字类型,大于等于 1000,您可以自定义。
userList List 用户列表

getUserListByTag

根据标记获取房间内用户信息为用户移除标记,只有房主能够调用

Future<TUIValueCallBack> getUserListByTag(int tag, int nextSequence);

参数:

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

disableDeviceForAllUserByAdmin

全体用户媒体设备管理,只有管理员或群主能够调用。

Future disableDeviceForAllUserByAdmin(TUIMediaDevice device,                                                  bool isDisable)
参数 类型 含义
device TUIMediaDevice 设备
isDisable bool 是否禁用

openRemoteDeviceByAdmin

请求远端用户打开媒体设备,只有管理员或群主能够调用。

TUIRequest openRemoteDeviceByAdmin(String userId,                                    TUIMediaDevice device,                                       int timeout,                                    TUIRequestCallback? requestCallback)
参数 类型 含义
userId String 用户 ID
device TUIMediaDevice 设备
timeout int 超时时间,单位秒。如果设置为 0,SDK 不会做超时检测,也不会触发超时回调
requestCallback TUIRequestCallback? 操作结果回调

closeRemoteDeviceByAdmin

关闭远端用户媒体设备,只有管理员或群主能够调用。

Future closeRemoteDeviceByAdmin(String userId,                                            TUIMediaDevice device)
参数 类型 含义
userId String 用户ID
device TUIMediaDevice 设备

applyToAdminToOpenLocalDevice

全体用户媒体设备管理 lock。

TUIRequest applyToAdminToOpenLocalDevice(TUIMediaDevice device,                                          int timeout,                                          TUIRequestCallback? requestCallback)
参数 类型 含义
device TUIMediaDevice 设备
timeout int 超时时间,单位秒。如果设置为 0,SDK 不会做超时检测,也不会触发超时回调
callback TUIRequestCallback? 操作结果回调

setMaxSeatCount

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

Future setMaxSeatCount(int maxSeatCount)
参数 类型 含义
maxSeatCount int 最大麦位数

lockSeatByAdmin

锁定麦位(包括位置锁定,音频状态锁定,视频状态锁定)。

Future lockSeatByAdmin(int seatIndex,                                   TUISeatLockParams lockParams)
参数 类型 含义
seatIndex int 麦位编号
lockParams TUISeatLockParams 锁麦参数

getSeatList

获取麦位列表。

Future<TUIValueCallBack<List>> getSeatList()

takeSeat

本地上麦。说明:会议场景:applyToSpeak 模式需要向主持人或管理员发起申请才允许上麦,其他模式不支持上麦。直播场景:freeToSpeak 模式可以自由上麦,上麦后开麦发言;applySpeakAfterTakingSeat 模式需要向主持人或管理员发起申请才允许上麦;其他模式不支持上麦。

TUIRequest takeSeat(int seatIndex,                     int timeout,                     TUIRequestCallback? requestCallback)    

参数:

参数 类型 含义
seatIndex int 麦位编号
timeout int 超时时间,单位秒。如果设置为 0,SDK 不会做超时检测,也不会触发超时回调
requestCallback TUIRequestCallback? 调用接口的回调,用于通知请求的回调状态

Return: 请求体

leaveSeat

本地下麦。

Future leaveSeat()

takeUserOnSeatByAdmin

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

TUIRequest takeUserOnSeatByAdmin(int seatIndex,                                  String userId,                                  int timeout,                                     TUIRequestCallback? requestCallback)
参数 类型 含义
seatIndex int 麦位编号
userId String 用户 ID
timeout int 超时时间,单位秒。如果设置为 0,SDK 不会做超时检测,也不会触发超时回调
requestCallback TUIRequestCallback? 调用接口的回调,用于通知请求的回调状态

Return: 请求体

kickUserOffSeatByAdmin

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

Future kickUserOffSeatByAdmin(int seatIndex,                                          String userId)
参数 类型 含义
seatIndex int 麦位编号
userId String 用户 ID

sendTextMessage

发送文本消息。

Future sendTextMessage(String message)

参数:

参数 类型 含义
message String 文本消息内容

sendCustomMessage

发送自定义消息。

Future sendCustomMessage(String message)

参数:

参数 类型 含义
message String 自定义消息内容

disableSendingMessageByAdmin

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

Future disableSendingMessageByAdmin(String userId,                                                bool isDisable)
参数 类型 含义
userId String 用户 ID
isDisable bool 是否禁用

disableSendingMessageForAllUser

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

Future disableSendingMessageForAllUser(bool isDisable)
参数 类型 含义
isDisable bool 是否禁用

cancelRequest

取消已经发出的请求。

Future cancelRequest(String requestId)

参数:

参数 类型 含义
requestId String 请求 ID

responseRemoteRequest

回复远端用户的请求。

Future responseRemoteRequest(String requestId,                                         bool agree)

参数:

参数 类型 含义
requestId String 请求 ID
agree bool 是否同意

callExperimentalAPI

调用实验性接口。

void callExperimentalAPI(String jsonStr);
参数 类型 含义
jsonStr String 接口信息

switchCamera

切换前置或后置摄像头(仅适用于移动端)。

Future switchCamera(bool isFrontCamera);
参数 类型 含义
isFrontCamera bool 是否前置

setBeautyLevel

设置美颜级别。

void setBeautyLevel(int beautyStyle, int beautyLevel);
参数 类型 含义
beautyStyle int 美颜风格
beautyLevel int 美颜级别

setWhitenessLevel

设置美白级别。

void setWhitenessLevel(int whitenessLevel);
参数 类型 含义
whitenessLevel int 美白级别



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

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

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

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

- 0人点赞 -

发表点评 (0条)

not found

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