API 简介
LiveCoreView 是我们开发视频直播 UIKit 的一个基础控件,该核心控件提供了 开播前画面预览、开启视频直播、关闭视频直播,直播间内和观众连线,跨房和其他主播连线等丰富的 API。
API 概览
API | 描述 |
创建 LiveCoreView 对象。 | |
开启摄像头采集,并将采集到的画面显示到 LiveCoreView 上。 | |
打开本地麦克风 | |
是否暂停发布本地的音频流 | |
关闭本地摄像头 | |
关闭本地麦克风 | |
主播创建直播间并开始推流 | |
主播停止推流并销毁直播间 | |
观众加入某个主播的直播间 | |
观众离开某个主播的直播间 | |
观众请求和主播连线 | |
观众取消和主播连线的请求 | |
主播响应观众连线的请求 | |
主播断开连线的观众 | |
观众自己停止和主播的连线 | |
主播请求和另外一个直播间的主播连线 | |
主播取消和另外一个直播间的主播连线的请求 | |
主播响应连线请求 | |
主播断开连线 | |
注册一个连线事件回调 | |
反注册一个连线事件回调 | |
设置连线主播视频画面的布局模式 | |
设置为连线主播视频画面上添加挂件的视图适配器 |
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 |
delegate
设置为连线主播视频画面上添加挂件的视图适配器。
public weak var videoViewDelegate: VideoViewDelegate?
参数:
参数 | 类型 | 含义 |
viewAdapter | 连线主播视频画面上添加挂件的视图适配器 |