LiveCoreView

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