主播连线
功能介绍
连线功能是一种实时互动交流方式,专门为主播量身定制。它让来自不同房间的主播在直播过程中实现实时互动与交流,TUILiveKit 的连线功能可支持单房间内多达9人同时连线,为主播互动、知识分享、文化交流、电商培训等多种场景提供了强大的技术支持,不仅为主播提供多样化的互动方式,也为观众带来更加丰富和深入的观看体验,从而为双方创造更多的惊喜和价值,使直播更具吸引力。
双人连线 | 多人连线 |
| |
接入流程
主播连线流程
TUILiveKit 主播连线功能主要是基于 LiveCoreView 实现的,您可以按如下 API 来完成主播连线功能。这里以主播 A 与主播 B 连线为例实现如下。
说明:
以下主动调用的方法都是 LiveCoreView 提供的方法。
所有的回调方法是指 LiveCoreView 设置的 ConnectionObserver 对象中的回调方法。
主播 A 发起连线
主播 A 通过调用 requestCrossRoomConnection 发起连线,在参数 roomId 中传入需要连线的主播 B 房间 id。
val roomId = "anchorBRoomId" mLiveViewList.requestCrossRoomConnection(roomId, 10, null)
String roomId = "anchorBRoomId"; mLiveViewList.requestCrossRoomConnection(roomId, 10, null);
主播 A 可通过 onCrossRoomConnectionAccepted 接收请求同意回调。
主播 B 收到连线请求
主播 B 通过 onCrossRoomConnectionRequest 接收连线请求回调。
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 响应连线请求。
liveCoreView.respondToCrossRoomConnection(roomId, true, null)
// 同意连线请求liveCoreView.respondToCrossRoomConnection(roomId, true, null);
主播 A, B 以及房间内观众收到 onConnectedRoomsUpdated 回调,收到接收连线列表发生变化通知。
override fun onConnectedRoomsUpdated(inviterUser: UserInfo) {Log.i(TAG, "主播连线房间列表更新")}
@Override public void onConnectedRoomsUpdated(List<LiveStreamDefine.RoomInfo> roomList) { Log.i(TAG, "主播连线房间列表更新"); }
退出连线流程
主播 B 调用 terminateIntraRoomConnection 退出连线。
// 文件位置:Android/tuilivekit/src/main/java/com/trtc/uikit/livekit/service/impl/LiveServiceImpl.javapublic void disconnect(TUIRoomDefine.ActionCallback callback) { mTUILiveConnectionManager.disconnect(callback); }
liveCoreView.terminateIntraRoomConnection()
主播 A, B 以及房间内观众收到 onConnectedRoomsUpdated 回调,收到接收连线列表发生变化通知。
override fun onConnectedRoomsUpdated(inviterUser: UserInfo) {Log.i(TAG, "主播连线房间列表更新")}
@Override public void onConnectedRoomsUpdated(List<RoomInfo> roomList) {Log.i(TAG, "主播连线房间列表更新");}
说明:
主播连线时序图