本文档主要介绍如何使用视频直播核心组件 LiveStreamCore
模块的 LiveCoreView
实现主播连线。
前提条件
在使用 LiveStreamCore
前,您需要先集成与登录 LiveStreamCore ,以便后续功能正常使用。 使用指引
步骤1:将 LiveCoreView 添加到视图上
您需要先导入 LiveStreamCore
模块,然后创建一个 LiveCoreView
视图对象,并将其添加到自己的视图上。
import LiveStreamCore
import
RTCRoomEngine
class AnchorConnectionController: UIViewController {
private let liveCoreView: LiveCoreView = {
let view = LiveCoreView()
return view
}()
override func viewDidLoad() {
super.viewDidLoad()
self.liveCoreView.registerConnectionObserver(observer: self)
}
deinit {
self.liveCoreView.unregisterConnectionObserver(observer: self)
}
}
import com.trtc.uikit.livekit.livestreamcore.LiveCoreView;
import com.trtc.uikit.livekit.livestreamcore.LiveCoreViewDefine;
public class AnchorConnectionActivity extends AppCompatActivity implements LiveCoreViewDefine.ConnectionObserver {
private LiveCoreView liveCoreView;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
liveCoreView = new LiveCoreView(this);
addContentView(liveCoreView,
new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
liveCoreView.registerConnectionObserver(this);
}
}
步骤2:主播连线
发起连线
当您想和其他房间的主播发起连线时,可调用 requestCrossRoomConnection
接口实现,传入两个参数:连线主播所在房间的房间Id、超时时长。
let targetRoomId = "live_100011"
let timeout = 30
self.liveCoreView.requestCrossRoomConnection(roomId: targetRoomId, timeOut: timeout) {
} onError: { code, message
}
String targetRoomId = "live_100011";
int timeout = 30;
liveCoreView.requestCrossRoomConnection(targetRoomId, timeout, new TUIRoomDefine.ActionCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(TUICommonDefine.Error error, String message) {
}
});
当您收到连线邀请时,您会收到 onCrossRoomConnectionRequest
回调,您可通过 respondToCrossRoomConnection
接口接受/拒绝连线请求。
func onCrossRoomConnectionRequest(hostUser: TUIConnectionUser) {
self.liveCoreView.respondToCrossRoomConnection
(
roomId: hostUser.roomId, isAccepted: true)
{
}
onError
:
{
code
,
message
in
}
}
@Override
public void onCrossRoomConnectionRequest(TUILiveConnectionManager.ConnectionUser connectionUser) {
boolean isAccepted = true;
liveCoreView.respondToCrossRoomConnection(connectionUser.userId, isAccepted, new TUIRoomDefine.ActionCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(TUICommonDefine.Error error, String message) {
}
});
}
中断连线
当您想中断当前连线时,可调用 terminateCrossRoomConnection
接口实现。
self.liveCoreView.terminateCrossRoomConnection()
liveCoreView.terminateCrossRoomConnection();
本页内容是否解决了您的问题?