tencent cloud

文档反馈

LiveCoreView

最后更新时间:2024-12-13 17:54:46

    API 简介

    LiveCoreView 是我们开发视频直播UIKit的一个基础控件,该核心控件提供了 开播前画面预览、开启视频直播、关闭视频直播,直播间内和观众连线,跨房和其他主播连线等丰富的 API。

    API 概览

    API
    描述
    创建 LiveCoreView 对象,支持 代码创建 和 xml 加载两种方式。
    开启摄像头采集,并将采集到的画面显示到LiveCoreView上。
    打开本地麦克风
    是否暂停发布本地的音频流
    关闭本地摄像头
    关闭本地麦克风
    主播创建直播间并开始推流
    主播停止推流并销毁直播间
    观众加入某个主播的直播间
    观众离开某个主播的直播间
    观众请求和主播连线
    观众取消和主播连线的请求
    主播响应观众连线的请求
    主播断开连线的观众
    观众自己停止和主播的连线
    主播请求和另外一个直播间的主播连线
    主播取消和另外一个直播间的主播连线的请求
    主播响应连线请求
    主播断开连线
    注册一个连线事件回调
    反注册一个连线事件回调
    设置连线主播视频画面的布局模式
    设置为连线主播视频画面上添加挂件的视图适配器

    API 详情

    LiveCoreView

    创建一个 LiveCoreView 对象实例。同时支持 代码创建 和 xml 加载两种方式创建。
    public LiveCoreView(Context context)
    参数:
    参数
    类型
    含义
    context
    Context
    Android 上下文对象
    返回值:LiveCoreView

    startCamera

    开始摄像头采集并将采集到的画面显示到LiveCoreView视图上。
    public void startCamera(boolean useFrontCamera, ActionCallback callback)
    参数:
    参数
    类型
    含义
    useFrontCamera
    boolean
    true:使用前置摄像头;false:使用后置摄像头
    callback
    ActionCallback
    操作的回调
    返回值:void

    startMicrophone

    打开本地麦克风。
    void startMicrophone(ActionCallback callback)
    参数:
    参数
    类型
    含义
    callback
    ActionCallback
    操作的回调
    返回值:void

    muteMicrophone

    是否暂停发布本地的音频流。
    void muteMicrophone(boolean mute)
    参数:
    参数
    类型
    含义
    mute
    boolean
    true:暂停发布视频流,false:正常发布视频流
    返回值:void

    stopCamera

    关闭本地摄像头。
    void stopCamera()
    参数:
    返回值:void

    stopMicrophone

    关闭本地麦克风。
    void stopMicrophone()
    参数:
    返回值:void

    startLiveStream

    主播创建直播间并开始推流。
    void startLiveStream(RoomInfo roomInfo, GetRoomInfoCallback callback)
    参数:
    参数
    类型
    含义
    roomInfo
    RoomInfo
    创建直播间的信息
    callback
    ActionCallback
    操作的回调
    返回值:void

    stopLiveStream

    主播停止推流并销毁直播间。
    void stopLiveStream(ActionCallback callback)
    参数:
    参数
    类型
    含义
    callback
    ActionCallback
    操作的回调
    返回值:void

    joinLiveStream

    观众加入某个主播的直播间。
    void joinLiveStream(String roomId, GetRoomInfoCallback callback)
    参数:
    参数
    类型
    含义
    roomId
    String
    直播间 ID
    callback
    ActionCallback
    操作的回调
    返回值:void

    leaveLiveStream

    观众离开某个主播的直播间。
    void leaveLiveStream(ActionCallback callback)
    参数:
    参数
    类型
    含义
    callback
    ActionCallback
    操作的回调
    返回值:void

    requestIntraRoomConnection

    观众请求和主播连线。
    void requestIntraRoomConnection(String userId, int timeout, boolean openCamera, ActionCallback callback)
    参数:
    参数
    类型
    含义
    userId
    String
    用户 ID,如果不填,则代表主播的用户 ID。
    timeout
    int
    请求超时时长,单位: 秒。
    openCamera
    boolean
    连麦成功后是否打开摄像头。true:视频连麦, false:语音连麦。
    callback
    ActionCallback
    操作的回调。
    返回值:void

    cancelIntraRoomConnection

    观众取消和主播连线的请求。
    void cancelIntraRoomConnection(String userId, ActionCallback callback)
    参数:
    参数
    类型
    含义
    userId
    String
    取消连麦的用户ID,如果不填,则代表主播的用户ID。
    callback
    ActionCallback
    操作的回调
    返回值:void

    respondIntraRoomConnection

    主播响应观众连线的请求。
    void respondIntraRoomConnection(String userId, boolean isAccepted, ActionCallback callback)
    参数:
    参数
    类型
    含义
    userId
    String
    响应用户的用户 ID
    isAccepted
    isAccepted
    是否接受连麦请求,true:同意连麦请求,false:拒绝连麦请求
    callback
    ActionCallback
    操作的回调
    返回值:void

    disconnectUser

    主播断开连线的观众。
    void disconnectUser(String userId, ActionCallback callback)
    参数:
    参数
    类型
    含义
    userId
    String
    主播需要断开连麦的用户 ID
    callback
    ActionCallback
    操作的回调
    返回值:void

    terminateIntraRoomConnection

    观众自己停止和主播的连线。
    void terminateIntraRoomConnection()
    参数:无
    返回值:void

    requestCrossRoomConnection

    主播请求和另外一个直播间的主播连线。
    void requestCrossRoomConnection(String roomId, int timeout, ActionCallback callback)
    参数:
    参数
    类型
    含义
    roomId
    String
    请求跨房连线的房间 ID。
    timeout
    int
    请求的超时时长,单位:秒。
    callback
    ActionCallback
    操作的回调。
    返回值:void

    cancelCrossRoomConnection

    主播取消和另外一个直播间的主播连线的请求。
    void cancelCrossRoomConnection(String roomId, ActionCallback callback)
    参数:
    参数
    类型
    含义
    roomId
    String
    取消连线的房间 ID
    callback
    ActionCallback
    操作的回调
    返回值:void

    respondToCrossRoomConnection

    主播响应连线请求。
    void respondToCrossRoomConnection(String roomId, boolean isAccepted, ActionCallback callback)
    参数:
    参数
    类型
    含义
    roomId
    String
    响应连线的房间 ID
    isAccepted
    boolean
    是否同意连线,true:同意连线,false:拒绝连线
    callback
    ActionCallback
    操作的回调
    返回值:void

    terminateCrossRoomConnection

    主播断开连线。
    void terminateCrossRoomConnection()
    参数:无
    返回值:void

    registerConnectionObserver

    注册一个连线事件回调。
    void registerConnectionObserver(ConnectionObserver observer)
    参数:
    参数
    类型
    含义
    observer
    连线事件的回调对象
    返回值:void

    unregisterConnectionObserver

    反注册一个连线事件回调。
    void unregisterConnectionObserver(ConnectionObserver observer)
    参数:
    参数
    类型
    含义
    observer
    连线事件的回调对象
    返回值:void

    setLayoutMode

    设置连线主播视频画面的布局模式。
    void setLayoutMode(LayoutMode layoutModel, String layoutJson)
    参数:
    参数
    类型
    含义
    layoutModel
    连线时的布局模式,支持宫格布局、浮窗布局、自定义布局。
    layoutJson
    String
    布局的 json 字符串
    返回值:void

    setVideoViewAdapter

    设置为连线主播视频画面上添加挂件的视图适配器。
    void setVideoViewAdapter(LiveCoreViewDefine.VideoViewAdapter viewAdapter)
    参数:
    参数
    类型
    含义
    viewAdapter
    连线主播视频画面上添加挂件的视图适配器
    返回值:void
    

    类型定义

    类型
    描述
    为核心控件设置连线的回调事件。
    连线时的布局模式,支持宫格布局、浮窗布局、自定义布局。
    连线视图适配器接口,你可以通过实现该接口来向你的的每个音视频流视图上添加挂件。

    ConnectionObserver

    类型
    说明
    连麦的用户列表发生改变的回调。
    收到连麦请求的回调。
    收到取消连麦请求的回调。
    连麦请求被同意的回调。
    连麦请求被拒绝的回调。
    连麦请求超时的回调。
    主播断开和此观众连麦的回调。
    观众主动断开连线的回调。
    跨房连线的房间列表发生改变回调。
    收到跨房连线请求的回调。
    收到取消跨房连线请求的回调。
    收到同意跨房连线的回调
    收到拒绝跨房连线的回调
    收到到跨房连线超时的回调。
    收到断开跨房连线的回调。
    收到房间销毁的回调。

    LayoutMode

    连线时的布局模式
    类型
    描述
    GRID_LAYOUT
    宫格布局。
    FLOAT_LAYOUT
    浮窗布局。
    FREE_LAYOUT
    自定义布局。

    VideoViewAdapter

    连线视图适配器接口,你可以通过实现该接口来向你的的每个音视频流视图上添加挂件。
    API
    说明
    创建连麦观众视图时回调,你通过该 API 创建的 View 会被显示到连麦观众的视图上。
    更新连麦观众视图时回调。
    创建连线主播视图时回调,你通过该 API 创建的 View 会被显示到连线主播的视图上。
    更新连线主播视图时回调。

    回调事件详情

    onConnectedUsersUpdated

    连麦的用户列表发生改变的回调。
    void onConnectedUsersUpdated(List<UserInfo> userList, List<UserInfo> joinList, List<UserInfo> leaveList);
    参数:
    参数
    类型
    描述
    userList
    List<UserInfo>
    连麦的用户列表
    joinList
    List<UserInfo>
    新加入的连麦用户
    leaveList
    List<UserInfo>
    离开的连麦用户
    返回值:void

    onUserConnectionRequest

    收到连麦请求的回调。
    void onUserConnectionRequest(UserInfo inviterUser);
    参数:
    参数
    类型
    描述
    inviterUser
    UserInfo
    申请连麦的用户信息
    返回值:void

    onUserConnectionCancelled

    收到取消连麦请求的回调。
    void onUserConnectionCancelled(UserInfo inviterUser);
    参数:
    参数
    类型
    描述
    inviterUser
    UserInfo
    取消连麦的用户信息
    返回值:void

    onUserConnectionAccepted

    连麦请求被同意的回调。
    void onUserConnectionAccepted(UserInfo userInfo);
    参数:
    参数
    类型
    描述
    userInfo
    UserInfo
    同意连麦的用户信息
    返回值:void

    onUserConnectionRejected

    连麦请求被拒绝的回调。
    void onUserConnectionRejected(UserInfo userInfo);
    参数:
    参数
    类型
    描述
    userInfo
    UserInfo
    拒绝连麦的用户信息
    返回值:void

    onUserConnectionTimeout

    连麦请超时的回调。
    void onUserConnectionTimeout(UserInfo userInfo);
    参数:
    参数
    类型
    描述
    userInfo
    UserInfo
    连麦请求超时的用户信息
    返回值:void

    onUserConnectionTerminated

    主播断开和此观众连麦的回调。
    vvoid onUserConnectionTerminated();
    参数:暂无
    返回值:void

    onUserConnectionExited

    连麦的用户断开连麦的回调。
    void onUserConnectionExited(UserInfo userInfo);
    参数:
    参数
    类型
    描述
    userInfo
    UserInfo
    断开连麦的用户信息
    返回值:void

    onConnectedRoomsUpdated

    连线的房间列表发生改变的回调。
    void onConnectedRoomsUpdated(List<RoomInfo> roomList);
    参数:
    参数
    类型
    描述
    roomList
    List<RoomInfo>
    连线的房间列表
    返回值:void

    onCrossRoomConnectionRequest

    收到跨房连线的请求的回调。
    void onCrossRoomConnectionRequest(RoomInfo roomInfo);
    参数:
    参数
    类型
    描述
    roomInfo
    RoomInfo
    申请连线的直播间信息
    返回值:void

    onCrossRoomConnectionCancelled

    收到取消跨房连线请求的回调。
    void onCrossRoomConnectionCancelled(RoomInfo roomInfo);
    参数:
    参数
    类型
    描述
    roomInfo
    RoomInfo
    取消申请连线的直播间信息
    返回值:void

    onCrossRoomConnectionAccepted

    收到同意跨房连线请求的回调。
    void onCrossRoomConnectionAccepted(RoomInfo roomInfo);
    参数:
    参数
    类型
    描述
    roomInfo
    RoomInfo
    同意连线的直播间信息
    返回值:void

    onCrossRoomConnectionRejected

    收到拒绝跨房连线请求的回调。
    void onCrossRoomConnectionRejected(RoomInfo roomInfo);
    参数:
    参数
    类型
    描述
    roomInfo
    RoomInfo
    拒绝连线的直播间信息
    返回值:void

    onCrossRoomConnectionTimeout

    收到房连线请求超时的回调。
    void onCrossRoomConnectionTimeout(RoomInfo inviter, RoomInfo invitee);
    参数:
    参数
    类型
    描述
    inviter
    RoomInfo
    申请连线的直播间信息
    invitee
    RoomInfo
    被邀请连线的直播间信息
    返回值:void

    onCrossRoomConnectionExited

    连麦的用户列表发生改变的回调。
    void onCrossRoomConnectionExited(RoomInfo roomInfo);
    参数:
    参数
    类型
    描述
    roomInfo
    RoomInfo
    退出连线的直播间信息
    返回值:void

    onRoomDismissed

    直播间被销毁的回调。
    void onRoomDismissed(String roomId);
    参数:
    参数
    类型
    描述
    roomId
    String
    房间 ID
    返回值:void

    createCoGuestView

    创建观众连麦的挂件视图,该视图会被添加到 该用户的视频流画面上面。
    View createCoGuestView(TUIRoomDefine.UserInfo userInfo);
    参数:
    参数
    类型
    描述
    userInfo
    UserInfo
    连麦用户的用户信息
    返回值:View

    updateCoGuestView

    更新挂件视图的回调,一般情况下,你不需要关系此回调,你可以根据你自己的挂件数据状态来更新你设置的挂件视图,除非你的挂件依赖于userInfo的改变。
    void updateCoGuestView(TUIRoomDefine.UserInfo userInfo, View coGuestView);
    参数:
    参数
    类型
    描述
    userInfo
    UserInfo
    连麦用户的用户信息
    coGuestView
    View
    您通过 createCoGuestView api 创建的挂件视图
    返回值:void

    createCoHostView

    创建主播连线的挂件视图,该视图会被添加到 该连线主播的视频流画面上面。
    View createCoHostView(TUILiveConnectionManager.ConnectionUser connectionUser);
    参数:
    参数
    类型
    描述
    connectionUser
    ConnectionUser
    连线主播的用户信息
    返回值:View

    updateCoHostView

    更新挂件视图的回调,一般情况下,你不需要关系此回调,你可以根据你自己的挂件数据状态来更新你设置的挂件视图,除非你的挂件依赖于connectionUser的改变。
    void updateCoHostView(TUILiveConnectionManager.ConnectionUser connectionUser, View coHostView);
    参数:
    参数
    类型
    描述
    connectionUser
    ConnectionUser
    连线主播的信息
    coHostView
    View
    您通过 createCoHostView api 创建的挂件视图
    返回值:void
    
    联系我们

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

    技术支持

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

    7x24 电话支持