tencent cloud

文档反馈

TUIRoomEngine

最后更新时间:2023-10-30 10:57:25

    TUIRoomEngine API 简介

    TUIRoomEngine API 是音视频通话组件的无 UI 接口,您可以使用这套 API 根据您的业务需求自定义封装。

    createTUIRoomEngine

    创建 TUIRoomEngine 实例
    tuikit::TUIRoomEngine* createTUIRoomEngine();

    destroyTUIRoomEngine

    销毁 TUIRoomEngine 实例
    void destroyTUIRoomEngine(tuikit::TUIRoomEngine* roomEngine);
    参数
    类型
    含义
    roomEngine
    tuikit::TUIRoomEngine*
    TUIRoomEngine 实例指针,该指针只能通过 CreateTUIRoomEngine 接口获取。

    login

    登录接口,您需要先初始化用户信息后才能进入房间,并进行一系列的操作。
    static void login(int sdkAppId, const char* userId, const char* userSig, TUICallback* callback);
    参数如下表所示:
    参数
    类型
    含义
    sdkAppId
    int
    云通信应用的 SDKAppID
    userId
    const char*
    用户ID,用于区分不同用户
    userSig
    const char*
    用户签名,用于腾讯云流量的认证
    callback
    TUICallback*
    调用接口的回调,同于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUICallback 的定义

    logout

    退出登录接口,会有主动离开房间操作、销毁资源。
    static void logout(TUICallback* callback);

    setSelfInfo

    设置本地用户名称和头像。
    static void SetSelfInfo(const char* userName, const char* avatarUrl, TUICallback* callback);
    参数如下表所示:
    参数
    类型
    含义
    userName
    const char*
    用户名称
    avatarUrl
    const char*
    用户头像 URL 地址
    callback
    TUICallback*
    调用接口的回调,同于通知接口调用的成功或者失败。详细定义可以参考 TUIRoomDefine.h 中 TUICallback 的定义

    getSelfInfo

    获取本地用户基本信息。
    static TUILoginUserInfo GetSelfInfo();

    addObserver

    设置事件回调。
    virtual void AddObserver(TUIRoomObserver* observer) = 0;
    参数如下表所示:
    参数
    类型
    含义
    observer
    TUIRoomObserver*
    回调实例的指针,您可以通过 TUIRoomObserver 获得各类事件通知(比如:错误码,远端用户进房,音视频状态参数等)

    removeObserver

    移除事件回调。
    virtual void removeObserver(TUIRoomObserver* observer) = 0;
    参数如下表所示:
    参数
    类型
    含义
    observer
    TUIRoomObserver*
    回调实例的指针

    createRoom

    创建房间。
    virtual void createRoom(const TUIRoomInfo& roomInfo, TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    roomInfo
    const TUIRoomInfo&
    房间信息,可以初始化房间的一些设置,定义参考TUIRoomDefine.h 中TUIRoomInfo
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考 TUIRoomDefine.h 中 TUICallback 的定义

    destroyRoom

    解散房间。
    virtual void destroyRoom(TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考 TUIRoomDefine.h 中 TUICallback 的定义

    enterRoom

    进入房间。
    virtual void enterRoom(const char* roomId, TUIValueCallback<TUIRoomInfo>* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    roomId
    const char*
    房间 ID
    callback
    TUIValueCallback<TUIRoomInfo>*
    调用接口的回调,携带房间信息。详细定义可以参考TUIRoomDefine.h 中 TUIValueCallback 和 TUIRoomInfo 的定义

    exitRoom

    离开房间。
    virtual void exitRoom(bool syncWaiting, TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    syncWaiting
    bool
    是否同步等待接口返回
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUICallback 的定义

    connectOtherRoom

    连接其他房间。
    virtual TUIRequest connectOtherRoom(const char* roomId, const char* userId, int timeout, TUIRequestCallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    roomId
    const char*
    房间 ID
    userId
    const char*
    用户 ID
    timeout
    int
    超时时间
    callback
    TUIRequestCallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUIRequestCallback 的定义

    disConnectOtherRoom

    断开与其他房间的连接。
    virtual void disConnectOtherRoom(TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUICallback 的定义

    fetchRoomInfo

    获取房间信息。
    virtual void fetchRoomInfo(TUIValueCallback<TUIRoomInfo>* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    callback
    TUIValueCallback<TUIRoomInfo>*
    调用接口的回调,携带房间信息。详细定义可以参考TUIRoomDefine.h 中 TUIValueCallback 和 TUIRoomInfo 的定义

    updateRoomNameByAdmin

    更新房间名称。
    virtual void updateRoomNameByAdmin(const char* roomName, TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    roomName
    const char*
    房间名称
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUICallback 的定义

    updateRoomSpeechModeByAdmin

    更新房间麦控模式。
    virtual void updateRoomSpeechModeByAdmin(TUISpeechMode mode, TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    mode
    TUISpeechMode
    麦控模式,详细定义可以参考 TUIRoomDefine.h 文件的 TUISpeechMode
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUICallback 的定义

    setLocalVideoView

    设置本地用户视频渲染的控件。
    virtual void setLocalVideoView(TUIVideoStreamType streamType, const TUIVideoView& view) = 0;
    参数如下表所示:
    参数
    类型
    含义
    streamType
    TUIVideoStreamType
    流类型,详细定义可以参考 TUIRoomDefine.h 中 TUIVideoStreamType 的定义
    view
    const TUIVideoView&
    渲染窗口的句柄

    openLocalCamera

    打开本地摄像头。
    virtual void openLocalCamera(bool isFront, TUIVideoQuality quality, TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    isFront
    bool
    是否是前置摄像头(Windows下无效)
    quality
    TUIVideoQuality
    视频质量,详细定义可以参考TUIRoomDefine.h 中 TUIVideoQuality 的定义
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUICallback 的定义

    closeLocalCamera

    关闭本地摄像头。
    virtual void closeLocalCamera() = 0;

    updateVideoQuality

    设置本地视频质量。
    virtual void updateVideoQuality(TUIVideoQuality quality) = 0;
    参数如下表所示:
    参数
    类型
    含义
    quality
    TUIVideoQuality
    视频质量,详细定义可以参考TUIRoomDefine.h 中 TUIVideoQuality 的定义

    startScreenSharing

    开始屏幕分享。
    virtual void startScreenSharing(const TUISourceId& sourceId, TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    sourceId
    const TUISourceId&
    屏幕分享窗口或屏幕的句柄,可以调用 GetScreenSharingTargetList 获取
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考 TUIRoomDefine.h 中 TUICallback 的定义

    stopScreenSharing

    结束屏幕分享。
    virtual void stopScreenSharing() = 0;

    getScreenSharingTargetList

    获取分享对象列表。
    virtual void getScreenSharingTargetList(TUIListCallback<TUIShareTarget>* list) = 0;
    参数如下表所示:
    参数
    类型
    含义
    list
    TUIListCallback<TUIShareTarget>*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考 TUIRoomDefine.h 中 TUIListCallback 与 TUIShareTarget 的定义

    selectScreenSharingTarget

    选择屏幕分享对象。
    virtual void selectScreenSharingTarget(const TUISourceId& sourceId) = 0;
    参数如下表所示:
    参数
    类型
    含义
    sourceId
    const TUISourceId&
    屏幕分享窗口或屏幕的句柄,可以调用 GetScreenSharingTargetList 获取

    startPushLocalVideo

    开始推送本地视频。
    virtual void startPushLocalVideo() = 0;

    stopPushLocalVideo

    停止推送本地视频。
    virtual void stopPushLocalVideo() = 0;

    openLocalMicrophone

    打开本地麦克风。
    virtual void openLocalMicrophone(TUIAudioQuality quality, TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    quality
    TUIAudioQuality
    音频质量。详细定义可以参考 TUIRoomDefine.h 中 TUIAudioQuality 的定义
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUICallback 的定义

    closeLocalMicrophone

    关闭本地麦克风。
    virtual void closeLocalMicrophone() = 0;

    updateAudioQuality

    设置本地音频质量。
    virtual void updateAudioQuality(TUIAudioQuality quality) = 0;
    参数如下表所示:
    参数
    类型
    含义
    quality
    TUIAudioQuality
    音频质量。详细定义可以参考 TUIRoomDefine.h 中 TUIAudioQuality 的定义

    startPushLocalAudio

    开始推送本地音频。
    virtual void startPushLocalAudio() = 0;

    stopPushLocalAudio

    停止推送本地音频。
    virtual void stopPushLocalAudio() = 0;

    setRemoteVideoView

    设置远端用户视频渲染的控件。
    virtual void setRemoteVideoView(const char* userId, TUIVideoStreamType streamType, const TUIVideoView& view) = 0;
    参数如下表所示:
    参数
    类型
    含义
    userId
    const char*
    远端用户 ID
    streamType
    TUIVideoStreamType
    流类型,详细定义可以参考 TUIRoomDefine.h 中 TUIVideoStreamType 的定义
    view
    const TUIVideoView&
    渲染窗口的句柄

    startPlayRemoteVideo

    开始播放远端用户视频。
    virtual void startPlayRemoteVideo(const char* userId, TUIVideoStreamType streamType, TUIPlayCallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    userId
    const char*
    用户 ID
    streamType
    TUIVideoStreamType
    视频流的类型。详细定义可以参考 TUIRoomDefine.h 中 TUIVideoStreamType 的定义
    callback
    TUIPlayCallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考 TUIRoomDefine.h 中 TUIPlayCallback 的定义

    stopPlayRemoteVideo

    停止播放远端用户视频。
    virtual void stopPlayRemoteVideo(const char* userId, TUIVideoStreamType streamType) = 0;
    参数如下表所示:
    参数
    类型
    含义
    userId
    const char*
    用户 ID
    streamType
    TUIVideoStreamType
    视频流的类型。详细定义可以参考 TUIRoomDefine.h 中 TUIVideoStreamType 的定义

    muteRemoteAudioStream

    停止订阅远端用户音频。
    virtual void muteRemoteAudioStream(const char* userId, bool isMute) = 0;
    参数如下表所示:
    参数
    类型
    含义
    userId
    const char*
    用户 ID
    isMute
    bool
    是否订阅远端用户音频流

    getUserList

    获取房间内的成员列表。
    virtual void getUserList(uint64_t nextSequence, TUIValueCallback<TUIUserListResult>* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    nextSequence
    uint64_t
    分页拉取标志,第一次拉取填0,回调成功如果 callback 返回TUIUserListResult中nextSequence 不为零,需要分页,传入再次拉取,直至为0
    callback
    TUIValueCallback<TUIUserListResult>*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUICallback 的定义

    getUserInfo

    获取成员信息。
    virtual void getUserInfo(const char* userId, TUIValueCallback<TUIUserInfo>* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    userId
    const char*
    用户 ID
    callback
    TUIValueCallback<TUIUserInfo>*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUIValueCallback 和 TUIUserInfo 的定义

    changeUserRole

    修改用户角色。
    virtual void changeUserRole(const char* userId, TUIRole role, TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    userId
    const char*
    用户 ID
    role
    TUIRole
    角色类型,详细定义可以参考TUIRoomDefine.h 中TUIRole的定义
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUICallback 的定义

    kickRemoteUserOutOfRoom

    将远端用户踢出房间。
    virtual void kickRemoteUserOutOfRoom(const char* userId, TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    userId
    const char*
    用户 ID
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUICallback 的定义

    disableDeviceForAllUserByAdmin

    控制当前房间内所有用户是否可打开音频流、视频流采集设备的权限状态,例如:全员禁止打开麦克风、全员禁止打开摄像头、全员禁止打开屏幕分享
    (目前仅会议场景下可用,并且只有管理员或群主能够调用)。
    virtual void disableDeviceForAllUserByAdmin(TUIMediaDevice device, bool isDisable, TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    device
    TUIMediaDevice
    设备类型。详细定义可以参考 TUIRoomDefine.h 中 TUIMediaDevice 的定义
    isDisable
    bool
    是否禁用
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUICallback 的定义

    openRemoteDeviceByAdmin

    请求远端用户打开媒体设备
    (目前仅会议场景下可用,并且只有管理员或群主能够调用)。
    virtual TUIRequest openRemoteDeviceByAdmin(const char* userId, TUIMediaDevice device, int timeout, TUIRequestCallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    userId
    const char*
    用户 ID
    device
    TUIMediaDevice
    设备类型。详细定义可以参考 TUIRoomDefine.h 中 TUIMediaDevice 的定义
    timeout
    int
    超时时间
    callback
    TUIRequestCallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUIRequestCallback 的定义

    closeRemoteDeviceByAdmin

    关闭远端用户媒体设备
    (目前仅会议场景下可用,并且只有管理员或群主能够调用)。
    virtual void closeRemoteDeviceByAdmin(const char* userId, TUIMediaDevice device, TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    userId
    const char*
    用户 ID
    device
    TUIMediaDevice
    设备类型。详细定义可以参考 TUIRoomDefine.h 中 TUIMediaDevice 的定义
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUICallback 的定义

    applyToAdminToOpenLocalDevice

    请求打开本地媒体设备
    (目前仅会议场景下可用,并且只有普通成员调用)。
    virtual TUIRequest applyToAdminToOpenLocalDevice(TUIMediaDevice device, int timeout, TUIRequestCallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    device
    TUIMediaDevice
    设备类型。详细定义可以参考 TUIRoomDefine.h 中 TUIMediaDevice 的定义
    timeout
    int
    超时时间
    callback
    TUIRequestCallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUIRequestCallback 的定义

    setMaxSeatCount

    设置最大麦位数(仅支持进房前和创建房间时设置)。
    roomType 为 TUIRoomType::kConference (教育及会议场景) 时,maxSeatCount 值不做限制;
    roomType 为 TUIRoomType::kLivingRoom (直播场景) 时,maxSeatCount 最大限制为 16;
    virtual void setMaxSeatCount(uint32_t maxSeatCount, TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    maxSeatCount
    uint32_t
    最大麦位数量限制
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUICallback 的定义

    getSeatList

    获取麦位列表。
    virtual void getSeatList(TUIListCallback<TUISeatInfo>* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    callback
    TUIListCallback<TUISeatInfo>*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUIListCallback 和 TUISeatInfo 的定义

    lockSeatByAdmin

    锁定麦位。
    virtual void lockSeatByAdmin(int seatIndex, const TUISeatLockParams& lockParams, TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    seatIndex
    int
    麦位编号
    lockParams
    TUISeatLockParams
    锁定麦位相关参数,详细定义可以参考TUIRoomDefine.h 中 TUISeatLockParams 的定义
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUICallback 的定义

    takeSeat

    本地上麦。
    virtual TUIRequest takeSeat(int seatIndex, int timeout, TUIRequestCallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    seatIndex
    int
    麦位编号
    timeout
    int
    超时时间
    callback
    TUIRequestCallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUIRequestCallback 的定义

    leaveSeat

    本地下麦。
    virtual void leaveSeat(TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUICallback 的定义

    takeUserOnSeatByAdmin

    主持人邀请用户上麦。
    virtual TUIRequest takeUserOnSeatByAdmin(int seatIndex, const char* userId, int timeout, TUIRequestCallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    seatIndex
    int
    麦位编号
    userId
    const char*
    用户 ID
    timeout
    int
    超时时间
    callback
    TUIRequestCallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUIRequestCallback 的定义

    kickUserOffSeatByAdmin

    主持人邀请用户下麦。
    virtual void kickUserOffSeatByAdmin(int seatIndex, const char* userId, TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    seatIndex
    int
    麦位编号
    userId
    const char*
    用户 ID
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUICallback 的定义

    sendTextMessage

    发送本文消息。
    virtual void sendTextMessage(const char* message, TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    message
    const char*
    消息内容
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUICallback 的定义

    sendCustomMessage

    发送自定义消息。
    virtual void sendCustomMessage(const char* message, TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    message
    const char*
    消息内容
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUICallback 的定义

    disableSendingMessageByAdmin

    禁用远端用户的发送文本消息能力(只有管理员或房主能够调用)
    virtual void disableSendingMessageByAdmin(const char* userId, bool isDisable, TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    userId
    const char*
    用户 ID
    isDisable
    bool
    是否禁用
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUICallback 的定义

    disableSendingMessageForAllUser

    禁用所有用户的发送文本消息能力(只有管理员或房主能够调用)
    virtual void disableSendingMessageForAllUser(bool isDisable, TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    isDisable
    bool
    是否禁用
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUICallback 的定义

    cancelRequest

    取消请求。
    virtual void cancelRequest(const char* requestId, TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    requestId
    const char*
    请求 ID。发送请求的接口返回。
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUICallback 的定义

    responseRemoteRequest

    回复请求。
    virtual void responseRemoteRequest(const char* requestId, bool agree, TUICallback* callback) = 0;
    参数如下表所示:
    参数
    类型
    含义
    requestId
    const char*
    请求 ID。发送请求的接口返回或者OnRequestReceived事件通知。
    agree
    bool
    是否同意 true: 同意请求, false: 拒绝请求
    callback
    TUICallback*
    调用接口的回调,用于通知接口调用的成功或者失败。详细定义可以参考TUIRoomDefine.h 中 TUICallback 的定义

    getTRTCCloud

    获得TRTC实例对象。
    virtual void* getTRTCCloud() = 0;

    getDeviceManager

    获得设备管理对象。
    virtual liteav::ITXDeviceManager* getDeviceManager() = 0;

    getAudioEffectManager

    获得音效管理对象。
    virtual liteav::ITXAudioEffectManager* getAudioEffectManager() = 0;
    
    联系我们

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

    技术支持

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

    7x24 电话支持