LiveCoreView

最近更新时间:2024-12-26 16:37:02

我的收藏

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
RoomInfo
创建直播间的信息
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
连线主播视频画面上添加挂件的视图适配器