Audience Connection
功能介绍
观众连麦功能是一种实时互动交流方式,通过观众连麦功能,主播可以与多达9个观众进行实时互动,无论是解答问题、分享经验还是进行娱乐互动,都能极大地提升观众的参与感和满意度。这种直接的互动和交流为商业化运营提供了更加便捷和高效的渠道,同时也为观众提供了更加个性化和定制化的购物体验。观众连麦功能适用于多个场景,包括电商直播、娱乐直播、在线教学等。
单人连麦 | 多人连麦 |
| |
接入流程
观众连麦流程
说明:
以下是由 LiveCoreView 提供的主动调用方法。
所有的回调方法是指 LiveCoreView 设置的 ConnectionObserver 对象中的回调方法。
观众发送连麦请求
观众 B 给主播 A 发送连麦请求,主播 A 会在 onUserConnectionRequest 回调中收到观众 B 的连麦请求。
let timeout = 60// 发起连麦请求时,userId传空字符串即可liveCoreView.requestIntraRoomConnection(userId: "", timeOut: timeOut, openCamera: true) {} onError: { code, message in}
主播端收到连麦请求
主播 A 会在 onUserConnectionRequest 回调方法中收到 观众B 的连麦请求。
func onUserConnectionRequest(inviterUser: TUIUserInfo) {print("收到观众连线请求:\(inviterUser.userId)")}
主播响应连麦请求
主播 A 收到观众的连麦请求后,可以调用 respondIntraRoomConnection 响应观众 B 是否同意连麦。
// 主播同意连麦liveCoreView.respondIntraRoomConnection(userId: audienceBUserId, isAccepted: true) {} onError: { code, message in}
观众收到主播响应回调
主播 A 同意观众 B 连麦请求后, 观众 B 会通过 onUserConnectionAccepted 回调收到主播 A 同意连麦的回调。
func onUserConnectionAccepted(userId: String) {print("观众同意连线:\(inviterUser.userId)")}
连麦用户列表发生变化的回调
主播 A 同意观众 B 连麦请求后, LiveCoreView 会同时给主播 A 和观众 B 发送连麦用户发生变化。
func onConnectedUsersUpdated(userList: [TUIUserInfo], joinList: [TUIUserInfo], leaveList: [TUIUserInfo]) {print("连麦用户列表发生变化")}
断开连麦流程
观众连麦成功后,主播挂断观众的连麦
观众 B 和主播 A 连麦成功后,主播 A 断开和观众 B 的连麦。
let userId = "audienceBUserId"liveCoreView.disconnectUser(userId: userId) {} onError: { code, message in}
观众收到主播断开连麦的回调
主播 A 断开和观众 B 的连麦请求后,观众 B 会收到 onUserConnectionTerminated 回调。
func onUserConnectionTerminated() {print("主播关闭连线")}
观众连麦成功后,观众结束连麦
观众 B 和主播 A 连麦成功后,观众 B 主动断开连麦可以调用 terminateIntraRoomConnection。
liveCoreView.terminateIntraRoomConnection()
主播收到观众断开连线的回调
当观众 B 主动断开连麦时,主播会收到 onUserConnectionExited 回调。
func onUserConnectionExited(userInfo: TUIUserInfo) {print("观众退出连线")}
说明:
观众连麦时序图