tencent cloud

文档反馈

LiveCoreView

最后更新时间:2024-12-27 16:28:49

    API 简介

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

    API 概览

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

    API 详情

    LiveCoreView

    创建一个 LiveCoreView 对象实例。
    LiveCoreView()

    startCamera

    开始摄像头采集并将采集到的画面显示到 LiveCoreView 视图上。
    func startCamera(useFrontCamera: Bool, onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock)
    参数:
    参数
    类型
    含义
    useFrontCamera
    Bool
    true:使用前置摄像头;false:使用后置摄像头
    onSuccess
    TUISuccessBlock
    操作成功的回调
    onError
    TUIErrorBlock
    操作失败的回调

    startMicrophone

    打开本地麦克风。
    func startMicrophone(onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock)
    参数:
    参数
    类型
    含义
    onSuccess
    TUISuccessBlock
    操作成功的回调
    onError
    TUIErrorBlock
    操作失败的回调

    muteMicrophone

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

    stopCamera

    关闭本地摄像头。
    func stopCamera()

    stopMicrophone

    关闭本地麦克风。
    func stopMicrophone()

    startLiveStream

    主播创建直播间并开始推流。
    func startLiveStream(roomInfo: TUIRoomInfo,
    onSuccess: @escaping TUIRoomInfoBlock,
    onError: @escaping TUIErrorBlock)
    参数:
    参数
    类型
    含义
    roomInfo
    TUIRoomInfo
    创建直播间的信息
    onSuccess
    TUIRoomInfoBlock
    操作成功的回调
    onError
    TUIErrorBlock
    操作失败的回调

    stopLiveStream

    主播停止推流并销毁直播间。
    func stopLiveStream(onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock)
    参数:
    参数
    类型
    含义
    onSuccess
    TUISuccessBlock
    操作成功的回调
    onError
    TUIErrorBlock
    操作失败的回调

    joinLiveStream

    观众加入某个主播的直播间。
    func joinLiveStream(roomId: String,
    onSuccess: @escaping TUIRoomInfoBlock,
    onError: @escaping TUIErrorBlock)
    参数:
    参数
    类型
    含义
    roomId
    String
    直播间 ID
    onSuccess
    TUIRoomInfoBlock
    操作成功的回调
    onError
    TUIErrorBlock
    操作失败的回调

    leaveLiveStream

    观众离开某个主播的直播间。
    func leaveLiveStream(onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock)
    参数:
    参数
    类型
    含义
    onSuccess
    TUISuccessBlock
    操作成功的回调
    onError
    TUIErrorBlock
    操作失败的回调

    requestIntraRoomConnection

    观众请求和主播连线。
    func requestIntraRoomConnection(userId: String, timeOut: Int, openCamera: Bool,
    onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock)
    参数:
    参数
    类型
    含义
    userId
    String
    用户 ID,如果传入主播ID,则代表观众请求和主播连线(传入空字符串时默认代表主播UserID)。为其他用户的UserID时,则代表主播邀请对应userId的用户连线。
    timeout
    int
    请求超时时长,单位: 秒。
    openCamera
    Bool
    连麦成功后是否打开摄像头。true:视频连麦, false:语音连麦。
    onSuccess
    TUISuccessBlock
    操作成功的回调
    onError
    TUIErrorBlock
    操作失败的回调

    cancelIntraRoomConnection

    观众取消和主播连线的请求。
    func cancelIntraRoomConnection(userId: String,
    onSuccess: @escaping TUISuccessBlock,
    onError: @escaping TUIErrorBlock)
    参数:
    参数
    类型
    含义
    userId
    String
    取消连麦的用户 ID,如果传入主播ID,则代表观众取消和主播连线的请求(传入空字符串时默认代表主播UserID)。为其他用户的UserID时,则代表主播取消邀请对应 userId 的用户连线。
    onSuccess
    TUISuccessBlock
    操作成功的回调
    onError
    TUIErrorBlock
    操作失败的回调

    respondIntraRoomConnection

    主播响应观众连线的请求。
    func respondIntraRoomConnection(userId: String, isAccepted: Bool,
    onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock)
    参数:
    参数
    类型
    含义
    userId
    String
    主播响应观众连线的观众 user ID。若传入主播的User ID,则代表观众响应主播的邀请连线(传入空字符串时默认代表主播UserID)。
    isAccepted
    isAccepted
    是否接受连麦请求,true:同意连麦请求,false:拒绝连麦请求
    onSuccess
    TUISuccessBlock
    操作成功的回调
    onError
    TUIErrorBlock
    操作失败的回调

    disconnectUser

    主播断开连线的观众。
    func disconnectUser(userId: String, onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock)
    参数:
    参数
    类型
    含义
    userId
    String
    主播需要断开连麦的用户 ID
    onSuccess
    TUISuccessBlock
    操作成功的回调
    onError
    TUIErrorBlock
    操作失败的回调

    terminateIntraRoomConnection

    观众自己停止和主播的连线。
    func terminateIntraRoomConnection()

    requestCrossRoomConnection

    主播请求和另外一个直播间的主播连线。
    func requestCrossRoomConnection(roomId: String, timeOut: Int,
    onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock)
    参数:
    参数
    类型
    含义
    roomId
    String
    请求跨房连线的房间 ID。
    timeout
    int
    请求的超时时长,单位:秒。
    onSuccess
    TUISuccessBlock
    操作成功的回调
    onError
    TUIErrorBlock
    操作失败的回调

    cancelCrossRoomConnection

    主播取消和另外一个直播间的主播连线的请求。
    func cancelCrossRoomConnection(roomId: String, onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock)
    参数:
    参数
    类型
    含义
    roomId
    String
    取消连线的房间 ID
    onSuccess
    TUISuccessBlock
    操作成功的回调
    onError
    TUIErrorBlock
    操作失败的回调

    respondToCrossRoomConnection

    主播响应连线请求。
    func respondToCrossRoomConnection(roomId: String, isAccepted: Bool,
    onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock)
    参数:
    参数
    类型
    含义
    roomId
    String
    响应连线的房间 ID
    isAccepted
    boolean
    是否同意连线,true:同意连线,false:拒绝连线
    onSuccess
    TUISuccessBlock
    操作成功的回调
    onError
    TUIErrorBlock
    操作失败的回调

    terminateCrossRoomConnection

    主播断开连线。
    func terminateCrossRoomConnection()

    registerConnectionObserver

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

    unregisterConnectionObserver

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

    setLayoutMode

    设置连线主播视频画面的布局模式。
    func setLayoutMode(layoutMode: LayoutMode, layoutJson: String? = nil)
    参数:
    参数
    类型
    含义
    layoutModel
    连线时的布局模式,支持宫格布局、浮窗布局、自定义布局。
    layoutJson
    String
    布局的 json 字符串。具体设置用法可参见 设置自定义布局

    delegate

    设置为连线主播视频画面上添加挂件的视图适配器。
    public weak var videoViewDelegate: VideoViewDelegate?
    参数:
    参数
    类型
    含义
    viewAdapter
    连线主播视频画面上添加挂件的视图适配器
    

    类型定义

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

    ConnectionObserver

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

    LayoutMode

    连线时的布局模式
    类型
    描述
    gridLayout
    宫格布局。
    floatLayout
    浮窗布局。
    freeLayout
    自定义布局。

    VideoViewDelegate

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

    回调事件详情

    onConnectedUsersUpdated

    连麦的用户列表发生改变的回调。
    func onConnectedUsersUpdated(userList: [TUIUserInfo], joinList: [TUIUserInfo], leaveList: [TUIUserInfo])
    参数:
    参数
    类型
    描述
    userList
    连麦的用户列表
    joinList
    新加入的连麦用户
    leaveList
    离开的连麦用户

    onUserConnectionRequest

    收到连麦请求的回调。
    func onUserConnectionRequest(inviterUser: TUIUserInfo)
    参数:
    参数
    类型
    描述
    inviterUser
    申请连麦的用户信息

    onUserConnectionCancelled

    收到取消连麦请求的回调。
    func onUserConnectionCancelled(inviterUser: TUIUserInfo)
    参数:
    参数
    类型
    描述
    inviterUser
    取消连麦的用户信息

    onUserConnectionAccepted

    连麦请求被同意的回调。
    func onUserConnectionAccepted(userInfo: TUIUserInfo)
    参数:
    参数
    类型
    描述
    userInfo
    同意连麦的用户信息

    onUserConnectionRejected

    连麦请求被拒绝的回调。
    func onUserConnectionRejected(userInfo: TUIUserInfo)
    参数:
    参数
    类型
    描述
    userInfo
    拒绝连麦的用户信息

    onUserConnectionTimeout

    连麦请超时的回调。
    func onUserConnectionTimeout(userInfo: TUIUserInfo)
    参数:
    参数
    类型
    描述
    userInfo
    连麦请求超时的用户信息

    onUserConnectionTerminated

    主播断开和此观众连麦的回调。
    func onUserConnectionTerminated()

    onUserConnectionExited

    连麦的用户断开连麦的回调。
    func onUserConnectionExited(userInfo: TUIUserInfo)
    参数:
    参数
    类型
    描述
    userInfo
    断开连麦的用户信息

    onConnectedRoomsUpdated

    连线的房间列表发生改变的回调。
    func onConnectedRoomsUpdated(hostUserList: [TUIConnectionUser])
    参数:
    参数
    类型
    描述
    hostUserList
    连线房间的房主列表

    onCrossRoomConnectionRequest

    收到跨房连线的请求的回调。
    func onCrossRoomConnectionRequest(hostUser: TUIConnectionUser)
    参数:
    参数
    类型
    描述
    hostUser
    申请连线的直播间房主信息

    onCrossRoomConnectionCancelled

    收到取消跨房连线请求的回调。
    func onCrossRoomConnectionCancelled(hostUser: TUIConnectionUser)
    参数:
    参数
    类型
    描述
    hostUser
    取消申请连线的直播间房主信息

    onCrossRoomConnectionAccepted

    收到同意跨房连线请求的回调。
    func onCrossRoomConnectionAccepted(hostUser: TUIConnectionUser)
    参数:
    参数
    类型
    描述
    hostUser
    同意连线的直播间房主信息

    onCrossRoomConnectionRejected

    收到拒绝跨房连线请求的回调。
    func onCrossRoomConnectionRejected(hostUser: TUIConnectionUser)
    参数:
    参数
    类型
    描述
    hostUser
    拒绝连线的直播间房主信息

    onCrossRoomConnectionTimeout

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

    onCrossRoomConnectionExited

    连麦的用户列表发生改变的回调。
    func onCrossRoomConnectionExited(hostUser: TUIConnectionUser)
    参数:
    参数
    类型
    描述
    hostUser
    退出连线的直播间信息

    onRoomDismissed

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

    createCoGuestView

    创建观众连麦的挂件视图,该视图会被添加到 该用户的视频流画面上面。
    func createCoGuestView(userInfo: TUIUserInfo) -> UIView?
    参数:
    参数
    类型
    描述
    userInfo
    连麦用户的用户信息
    返回值:UIView?

    updateCoGuestView

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

    createCoHostView

    创建主播连线的挂件视图,该视图会被添加到 该连线主播的视频流画面上面。
    func createCoHostView(connectionUser: TUIConnectionUser) -> UIView?
    参数:
    参数
    类型
    描述
    connectionUser
    连线主播的用户信息
    返回值:UIView?

    updateCoHostView

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

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

    技术支持

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

    7x24 电话支持