首页 > 解决方案 > 如何以类似于相机为 SurfaceTexture 生成帧的方式生成 YUVI420 帧到 SurfaceTexture?

问题描述

我可以使用 openGL 渲染YUVI420帧,GLSurfaceView但我的要求是在SurfaceTexture. 基本上我想产生SurfaceTexture不喜欢渲染TextureView等的帧,我有来自 WebRTC 的 YUV 数据流,我希望这个流在,SurfaceTexture以便以后我可以EXTERNAL_TEXTURE_OES在消费者级别访问它。我找不到任何关于在 SurfaceTexture 上生成帧的来源。是否可以将 YUV 帧生成到 SurfaceTexure?

标签: androidopengl-esyuv

解决方案


可以将YUVI420帧转成byteArray,画在canvas上,放到TextureView上

val canvas: Canvas = textureView.lockCanvas()
canvas.drawBitmap(sourceBitmap, 200f, 100f, Paint())
textureView.unlockCanvasAndPost(canvas)

推荐阅读