我的 agora 应用程序有一个自定义视频源,即我使用 ARVideoKit 传输的ARView。如何实现切换到前置摄像头?
我最初的想法只是设置本地视频,但它什么也没做
@objc private func switchCamera() {
captureType = captureType == .ar ? .camera : .ar
setCaptureType(to: captureType)
}
private func stopScene(){
arRecorder.rest()
sceneView.session.pause()
}
private func startScene() {
sceneView.session.run(configuration)
arRecorder.prepare(configuration)
}
private func setCaptureType(to type: CaptureType) {
switch type {
case .ar:
startScene()
agoraKit.disableVideo()
agoraKit.setVideoSource(arVideoSource)
case .camera:
stopScene()
agoraKit.enableVideo()
agoraKit.setVideoSource(nil)
let videoCanvas = AgoraRtcVideoCanvas()
videoCanvas.uid = 0
videoCanvas.renderMode = .hidden
videoCanvas.view = localVideoView
agoraKit.setupLocalVideo(videoCanvas)
}}
基本上,我需要停止 ARSession,可能会删除自定义视频源并将本地视频设置为输入。
要将 ARView 设置为视频源,我遵循了本教程