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.

Другие вопросы по тегам