首页 > 解决方案 > 停止渲染后如何清除 RTCEAGLVideoView?

问题描述

我正在使用多个 RTCEAGLVideoView 在我的 WebRTC 应用程序中呈现不同的视频。当我切换用户时,RTCEAGLVideoView 会保留最后渲染的帧,直到渲染新的帧。这会导致在几秒钟内有两个具有相同图像帧的视图的感觉。所以我想在停止渲染后清除 RTCEAGLVideoView 。我已经尝试通过以下方式清除:

[videoTrack removeRenderer:remoteVideoView]]; //remoteVideoView is an RTCEAGLVideoView 
videoTrack = nil;
remoteVideoView.hidden = true;
[remoteVideoView renderFrame:nil];

但这不会清除 RTCEAGLVideoView。据我了解,RTCEAGLVideoView 是一个 RTCVideoRenderer,它使用 OpenGLES 2.0 或 OpenGLES 3.0 在其边界内渲染视频帧。但是其中的 GLKView 不是公开的,因此我们只有可以使用的视图。有人知道如何清除这个吗?

标签: iosopengl-eswebrtc

解决方案


推荐阅读