ios - 停止渲染后如何清除 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 不是公开的,因此我们只有可以使用的视图。有人知道如何清除这个吗?
解决方案
推荐阅读
- reactjs - 反应日志运行两次
- asp.net-core - asp.net 发送带有 excel 附件的电子邮件
- javascript - 浏览器似乎与 Firestore onAuthStateChanged Web Javascript 循环
- c++ - 在类和构造函数中从用户获取整数输入时无法正确使用运算符 [OOP]
- python - 从 1 列中提取数据
- python - 在 Mac 上为 QGIS3.6 安装第三方插件
- flutter - Flutter ML Kit 姿势检测与屏幕位置不匹配
- angular - CKEditor 启用/禁用后模板 js 不起作用
- r - 如何使用 dplyr Joins 更改/避免列中的 NA?
- python - 如何使用 Twitter API Python 检查大量用户列表是否是 Twitter 上目标用户的小字典的朋友