SwiftUI WebRTC Аудио и видео рендеринг
У меня проблема с интеграцией аудио и видео из WebRTC в SwiftUI View. Я пытаюсь сделать это с помощью UIViewRepresentable, но улавливаю ошибку. Насчет потокового аудио понятия не имею. Мой вид SwiftUI:
if showingVideo {
//MARK: SHOW VIDEO, AND TURN ON AUDIO
} else {
}
Моя попытка использовать UIViewRepresentable
func makeUIView(context: Context) -> RTCEAGLVideoView {
self.remoteView.frame = CGRect(x: 20, y: 20, width: 200, height: 300)
self.remoteView = self.video.remoteVideoView!
return self.remoteView
}
1 ответ
Ответ делать что-то вроде этого
@ObservedObject var videoCallController: VideoCallController
func updateUIView(_ uiView: UIViewType, context: Context) {
let remoteRenderer = RTCEAGLVideoView(frame: UIScreen.main.bounds)
self.videoCallController.webRTCClient.renderRemoteVideo(to: remoteRenderer)
}
func makeUIView(context: Context) -> RTCEAGLVideoView {
let remoteRenderer = RTCEAGLVideoView(frame: UIScreen.main.bounds)
self.videoCallController.webRTCClient.renderRemoteVideo(to: remoteRenderer)
return remoteRenderer
}
Где рендерить удаленное видео
func renderRemoteVideo(to renderer: RTCVideoRenderer) {
self.remoteVideoTrack?.add(renderer)
}
Удаленная видеодорожка - RTCVideoTrack.