主播连线

功能介绍

连线功能是一种实时互动交流方式,专门为主播量身定制。它让来自不同房间的主播在直播过程中实现实时互动与交流,TUILiveKit 的连线功能可支持单房间内多达9人同时连线,为主播互动、知识分享、文化交流、电商培训等多种场景提供了强大的技术支持,不仅为主播提供多样化的互动方式,也为观众带来更加丰富和深入的观看体验,从而为双方创造更多的惊喜和价值,使直播更具吸引力。
双人连线
多人连线







接入流程

主播连线流程

TUILiveKit 主播连线功能主要是基于 LiveCoreView 实现的,您可以按如下 API 来完成主播连线功能。这里以主播 A 与主播 B 连线为例实现如下。
说明:
以下主动调用的方法都是 LiveCoreView 提供的方法。
所有的回调方法是指 LiveCoreView 设置的 ConnectionObserver 对象中的回调方法。

主播 A 发起连线

主播 A 通过调用 requestCrossRoomConnection 发起连线,在参数 roomId 中传入需要连线的主播 B 房间 id。
Kotlin
java
val roomId = "anchorBRoomId" mLiveViewList.requestCrossRoomConnection(roomId, 10, null)
String roomId = "anchorBRoomId"; mLiveViewList.requestCrossRoomConnection(roomId, 10, null);
主播 A 可通过 onCrossRoomConnectionAccepted 接收请求同意回调。

主播 B 收到连线请求

主播 B 通过 onCrossRoomConnectionRequest 接收连线请求回调。
Kotlin
java
override fun onCrossRoomConnectionRequest(inviterUser: UserInfo) {
Log.i(TAG, "收到主播A连线房间请求:${inviterUser.userId}")
}
@Override public void onCrossRoomConnectionRequest(LiveStreamDefine.RoomInfo roomInfo) { Log.i(TAG, "收到主播A连线房间请求:" + roomInfo.roomId); }
主播 B 通过调用 respondToCrossRoomConnection 响应连线请求。
Kotlin
java
liveCoreView.respondToCrossRoomConnection(roomId, true, null)
// 同意连线请求
liveCoreView.respondToCrossRoomConnection(roomId, true, null);
主播 A, B 以及房间内观众收到 onConnectedRoomsUpdated 回调,收到接收连线列表发生变化通知。
Kotlin
java
override fun onConnectedRoomsUpdated(inviterUser: UserInfo) {
Log.i(TAG, "主播连线房间列表更新")
}
@Override public void onConnectedRoomsUpdated(List<LiveStreamDefine.RoomInfo> roomList) { Log.i(TAG, "主播连线房间列表更新"); }

退出连线流程

主播 B 调用 terminateIntraRoomConnection 退出连线。
kotlin
java
// 文件位置:Android/tuilivekit/src/main/java/com/trtc/uikit/livekit/service/impl/LiveServiceImpl.java
public void disconnect(TUIRoomDefine.ActionCallback callback) { mTUILiveConnectionManager.disconnect(callback); }
liveCoreView.terminateIntraRoomConnection()
主播 A, B 以及房间内观众收到 onConnectedRoomsUpdated 回调,收到接收连线列表发生变化通知。
kotlin
java
override fun onConnectedRoomsUpdated(inviterUser: UserInfo) {
Log.i(TAG, "主播连线房间列表更新")
}
@Override public void onConnectedRoomsUpdated(List<RoomInfo> roomList) {
Log.i(TAG, "主播连线房间列表更新");
}
说明:
连线功能是基于 LiveCoreView 实现,若您需要扩展连线功能,可参见 LiveCoreView 文档。

主播连线时序图