腾讯云实时音视频TUIRoomEngine_音视频解决方案_同尘科技
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折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠
阿里云解决方案也看看?: 点击对比阿里云的解决方案
暂无评论,你要说点什么吗?