繁体   English   中英

WebRTC - iOS Swift - 删除视频流并将 uiview 设置为黑色

[英]WebRTC - iOS Swift - Remove video stream and set uiview to black

我正在实现一个使用 WebRTC(libjingle_peerconnection 库)检索视频流的应用程序。 在某些时候,流 (RTCVideoTrack) 可能会被删除。 当这种情况发生在 UIView (RTCEAGLVideoView) 中时,仍然显示流的最后一帧。 我想将该视图设置为黑色。 我该怎么做?

现在我正在使用以下代码删除流,但正如我所说,最后一帧一直显示在视图中。

remoteVideoTrack.setEnabled(false) // RTCVideoTrack object
remoteVideoTrack.remove(videoView) // videoView is the RTCEAGLVideoView UI object
remotePeerConnection.close()

我遇到了类似的问题。 但是,在某些情况下,黑色视图是不可接受的,我需要渲染器视图变得完全透明。

由于我的视频聊天视图控制器显示在容器中,因此我能够通过完全重新加载容器使渲染器的最后一帧消失。

这是相关代码:

        // Kill renderer
    vcWebRtc?.willMove(toParent: nil)
    vcWebRtc?.view.removeFromSuperview()
    vcWebRtc?.removeFromParent()
    
    vcWebRtc = UIStoryboard.instance(from: .WebRTC).instantiateInitialViewController() as? WebRtcVC
    if vcWebRtc != nil{
        addChild(vcWebRtc!)
        viewWebRtcContainer.addSubview(vcWebRtc!.view)
        vcWebRtc!.view.frame = viewWebRtcContainer.bounds
        vcWebRtc?.didMove(toParent: self)
        vcWebRtc?.delegate = self}
        
    

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM