tencent cloud

文档反馈

TUIRoomEngine

最后更新时间:2023-11-21 15:01:34

    TUIRoomEngine API 简介

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

    createInstance

    创建 TUIRoomEngine 实例。
    static TUIRoomEngine createInstance()
    return:TUIRoomEngine 实例。

    destroyInstance

    销毁TUIRoomEngine实例。
    void destroyInstance()

    login

    登录 roomEngine 接口,您需要先初始化用户信息后才能进入房间,并进行一系列的操作。
    static Future<TUIActionCallback> login(int sdkAppId,
    String userId,
    String userSig)
    参数:
    参数
    类型
    含义
    sdkAppId
    int
    应用信息中获取 sdkAppId 信息
    userId
    String
    用户 ID
    userSig
    String
    userSig 签名。计算 userSig 的方式请参考UserSig 相关

    logout

    退出登录接口,会有主动离开房间操作、销毁资源。
    static Future<TUIActionCallback> logout()

    setSelfInfo

    设置本地用户名称和头像。
    static Future<TUIActionCallback> setSelfInfo(String userName, String avatarURL)
    参数:
    参数
    类型
    含义
    userName
    String
    用户名
    avatarUrl
    String
    用户头像

    setLoginUserInfo

    设置登录用户信息。
    static Future<TUIActionCallback> 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<TUIActionCallback> createRoom(TUIRoomInfo roomInfo)
    参数:
    参数
    类型
    含义
    roomInfo
    房间基本信息

    destroyRoom

    销毁房间接口,销毁房间必须由房间所有者发起,销毁房间之后房间不可进入。
    Future<TUIActionCallback> destroyRoom()

    enterRoom

    进入房间接口。
    Future<TUIValueCallBack<TUIRoomInfo>> enterRoom(String roomId)
    参数:
    参数
    类型
    含义
    roomId
    String
    房间号,字符串类型

    exitRoom

    离开房间接口,用户在执行 enterRoom 之后可通过 exitRoom 离开房间。
    Future<TUIActionCallback> 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<TUIActionCallback> disconnectOtherRoom()

    
    fetchRoomInfo
    

    获取房间信息。
    Future<TUIValueCallBack<TUIRoomInfo>> fetchRoomInfo()

    
    updateRoomNameByAdmin
    

    更新房间名称。
    Future<TUIActionCallback> updateRoomNameByAdmin(String roomName)
    参数:
    参数
    类型
    含义
    roomName
    String
    房间名称

    updateRoomSpeechModeByAdmin

    设置房间管理模式(只有管理员或群主能够调用)。
    Future<TUIActionCallback> updateRoomSpeechModeByAdmin(TUISpeechMode mode)
    参数
    类型
    含义
    mode
    房间模式

    setLocalVideoView

    设置本地用户视频渲染的视图控件。
    void setLocalVideoView(int viewId)
    参数:
    参数
    类型
    含义
    viewId
    int
    待渲染 view 指针的 int64 类型值,通过此 viewId 可转换为对应原生平台的视图,视频画面将渲染于此视图上

    openLocalCamera

    打开本地摄像头,开始视频流采集。
    Future<TUIActionCallback> openLocalCamera(bool isFront,
    TUIVideoQuality quality)
    参数:
    参数
    类型
    含义
    isFront
    bool
    是否使用前置摄像头
    quality
    视频质量

    closeLocalCamera

    关闭本地摄像头。
    void closeLocalCamera()

    
    updateVideoQuality
    

    设置本地视频的参数。
    void updateVideoQuality(TUIVideoQuality quality)
    参数:
    参数
    类型
    含义
    quality
    视频质量

    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<void> startScreenSharing({String appGroup = ''})

    stopScreenSharing

    结束屏幕分享
    Future<void> stopScreenSharing()

    openLocalMicrophone

    打开本地麦克风。
    Future<TUIActionCallback> openLocalMicrophone(TUIAudioQuality quality)
    参数
    类型
    含义
    quality
    音频质量

    closeLocalMicrophone

    关闭本地麦克风。
    void closeLocalMicrophone()

    updateAudioQuality

    更新本地音频编码质量设置。
    void updateAudioQuality(TUIAudioQuality quality)
    参数:
    参数
    类型
    含义
    quality
    音频质量

    muteLocalAudio

    停止向远端推本地音频流。
    Future<TUIActionCallback> muteLocalAudio()

    unMuteLocalAudio

    开始向远端推本地音频流。
    Future<TUIActionCallback> unMuteLocalAudio()

    setRemoteVideoView

    设置远端用户视频渲染的视图控件。
    void setRemoteVideoView(String userId,
    TUIVideoStreamType streamType,
    int viewId)
    参数:
    参数
    类型
    含义
    userId
    String
    用户 ID
    streamType
    用户流类型
    viewId
    int
    待渲染 view 指针的 int64 类型值,通过此 viewId 可转换为对应原生平台的视图,视频画面将渲染于此视图上

    startPlayRemoteVideo

    开始播放远端用户视频流。
    void startPlayRemoteVideo(String userId,
    TUIVideoStreamType streamType,
    TUIPlayCallback? callback)
    参数:
    参数
    类型
    含义
    userId
    String
    用户 ID
    streamType
    用户流类型
    callback
    TUIPlayCallback?
    播放结果回调

    stopPlayRemoteVideo

    停止播放远端用户视频流。
    void stopPlayRemoteVideo(String userId,
    TUIVideoStreamType streamType)
    参数:
    参数
    类型
    含义
    userId
    String
    用户 ID
    streamType
    用户流类型

    muteRemoteAudioStream

    将远端用户禁音。
    void muteRemoteAudioStream(String userId, boolean isMute);
    参数:
    参数
    类型
    含义
    userId
    String
    用户 ID
    isMute
    bool
    是否禁音

    getUserList

    获取当前房间用户列表,注意该接口一次拉取的用户列表量最大为 100 个。
    Future<TUIValueCallBack<TUIUserListResult>> getUserList(int nextSequence)
    参数:
    参数
    类型
    含义
    nextSequence
    int
    分页拉取标志,第一次拉取填0。回调成功如果 nextSeq 不为零,需要分页,传入 nextSeq 再次拉取,直至 callback 中 nextSeq 为0

    getUserInfo

    获取用户的详细信息。
    Future<TUIValueCallBack<TUIUserInfo>> getUserInfo(String userId)
    参数:
    参数
    类型
    含义
    userId
    String
    根据 userId 获取该用户的详细信息

    changeUserRole

    改变用户的角色,只有管理员或群主能够调用。
    Future<TUIActionCallback> changeUserRole(String userId,
    TUIRole role)
    参数:
    参数
    类型
    含义
    userId
    String
    用户 ID
    role
    TUIRole
    用户角色

    kickRemoteUserOutOfRoom

    将用户移出房间,只有管理员或群主能够调用。
    Future<TUIActionCallback> kickRemoteUserOutOfRoom(String userId)
    参数:
    参数
    类型
    含义
    userId
    String
    用户 ID

    addCategoryTagForUsers

    为用户增加标记,只有房主能够调用
    Future<TUIActionCallback> addCategoryTagForUsers(int tag, List<String> userList);
    参数:
    参数
    类型
    含义
    tag
    int
    标记类型。数字类型,大于等于 1000,您可以自定义。
    userList
    List<String>
    用户列表

    removeCategoryTagForUsers

    为用户移除标记,只有房主能够调用
    Future<TUIActionCallback> removeCategoryTagForUsers(int tag, List<String> userList);
    参数:
    参数
    类型
    含义
    tag
    int
    类型。数字类型,大于等于 1000,您可以自定义。
    userList
    List<String>
    用户列表

    getUserListByTag

    根据标记获取房间内用户信息
    为用户移除标记,只有房主能够调用
    Future<TUIValueCallBack<TUIUserListResult>> getUserListByTag(int tag, int nextSequence);
    参数:
    参数
    类型
    含义
    tag
    int
    类型。数字类型,大于等于 1000,您可以自定义。
    nextSequence
    int
    分页拉取标志,第一次拉取填0,回调成功 如果 callback 返回的数据中 nextSequence 不为零,需要分页,传入再次拉取,直至为0

    disableDeviceForAllUserByAdmin

    全体用户媒体设备管理,只有管理员或群主能够调用。
    Future<TUIActionCallback> disableDeviceForAllUserByAdmin(TUIMediaDevice device,
    bool isDisable)
    参数
    类型
    含义
    device
    设备
    isDisable
    bool
    是否禁用

    openRemoteDeviceByAdmin

    请求远端用户打开媒体设备,只有管理员或群主能够调用。
    TUIRequest openRemoteDeviceByAdmin(String userId,
    TUIMediaDevice device,
    int timeout,
    TUIRequestCallback? requestCallback)
    参数
    类型
    含义
    userId
    String
    用户 ID
    device
    设备
    timeout
    int
    超时时间,单位秒。如果设置为 0,SDK 不会做超时检测,也不会触发超时回调
    requestCallback
    TUIRequestCallback?
    操作结果回调

    closeRemoteDeviceByAdmin

    关闭远端用户媒体设备,只有管理员或群主能够调用。
    Future<TUIActionCallback> closeRemoteDeviceByAdmin(String userId,
    TUIMediaDevice device)
    参数
    类型
    含义
    userId
    String
    用户ID
    device
    设备

    applyToAdminToOpenLocalDevice

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

    setMaxSeatCount

    设置最大麦位数,仅支持进房前和创建房间时设置。
    Future<TUIActionCallback> setMaxSeatCount(int maxSeatCount)
    参数
    类型
    含义
    maxSeatCount
    int
    最大麦位数

    lockSeatByAdmin

    锁定麦位(包括位置锁定,音频状态锁定,视频状态锁定)。
    Future<TUIActionCallback> lockSeatByAdmin(int seatIndex,
    TUISeatLockParams lockParams)
    参数
    类型
    含义
    seatIndex
    int
    麦位编号
    lockParams
    锁麦参数

    getSeatList

    获取麦位列表。
    Future<TUIValueCallBack<List<TUISeatInfo>>> getSeatList()

    takeSeat

    本地上麦。
    说明:
    会议场景:applyToSpeak 模式需要向主持人或管理员发起申请才允许上麦,其他模式不支持上麦。
    直播场景:freeToSpeak 模式可以自由上麦,上麦后开麦发言;applySpeakAfterTakingSeat 模式需要向主持人或管理员发起申请才允许上麦;其他模式不支持上麦。
    TUIRequest takeSeat(int seatIndex,
    int timeout,
    TUIRequestCallback? requestCallback)
    参数:
    参数
    类型
    含义
    seatIndex
    int
    麦位编号
    timeout
    int
    超时时间,单位秒。如果设置为 0,SDK 不会做超时检测,也不会触发超时回调
    requestCallback
    TUIRequestCallback?
    调用接口的回调,用于通知请求的回调状态
    Return: 请求体

    leaveSeat

    本地下麦。
    Future<TUIActionCallback> 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<TUIActionCallback> kickUserOffSeatByAdmin(int seatIndex,
    String userId)
    参数
    类型
    含义
    seatIndex
    int
    麦位编号
    userId
    String
    用户 ID

    sendTextMessage

    发送文本消息。
    Future<TUIActionCallback> sendTextMessage(String message)
    参数:
    参数
    类型
    含义
    message
    String
    文本消息内容

    sendCustomMessage

    发送自定义消息。
    Future<TUIActionCallback> sendCustomMessage(String message)
    参数:
    参数
    类型
    含义
    message
    String
    自定义消息内容

    disableSendingMessageByAdmin

    禁用远端用户的发送文本消息能力(只有管理员或群主能够调用)。
    Future<TUIActionCallback> disableSendingMessageByAdmin(String userId,
    bool isDisable)
    参数
    类型
    含义
    userId
    String
    用户 ID
    isDisable
    bool
    是否禁用

    disableSendingMessageForAllUser

    禁用所有用户的发送文本消息能力(只有管理员或群主能够调用)。
    Future<TUIActionCallback> disableSendingMessageForAllUser(bool isDisable)
    参数
    类型
    含义
    isDisable
    bool
    是否禁用

    cancelRequest

    取消已经发出的请求。
    Future<TUIActionCallback> cancelRequest(String requestId)
    参数:
    参数
    类型
    含义
    requestId
    String
    请求 ID

    responseRemoteRequest

    回复远端用户的请求。
    Future<TUIActionCallback> responseRemoteRequest(String requestId,
    bool agree)
    参数:
    参数
    类型
    含义
    requestId
    String
    请求 ID
    agree
    bool
    是否同意

    callExperimentalAPI

    调用实验性接口。
    void callExperimentalAPI(String jsonStr);
    参数
    类型
    含义
    jsonStr
    String
    接口信息

    switchCamera

    切换前置或后置摄像头(仅适用于移动端)。
    Future<int?> switchCamera(bool isFrontCamera);
    参数
    类型
    含义
    isFrontCamera
    bool
    是否前置

    setBeautyLevel

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

    setWhitenessLevel

    设置美白级别。
    void setWhitenessLevel(int whitenessLevel);
    参数
    类型
    含义
    whitenessLevel
    int
    美白级别
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持