SwiftUI WebRTC音频和视频渲染

时间:2020-06-11 08:01:08

标签: ios swift swiftui webrtc-ios

我在将音频和视频从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 个答案:

答案 0 :(得分:0)

答案就是这样做

@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。