android - 如何以类似于相机为 SurfaceTexture 生成帧的方式生成 YUVI420 帧到 SurfaceTexture?
问题描述
我可以使用 openGL 渲染YUVI420
帧,GLSurfaceView
但我的要求是在SurfaceTexture
. 基本上我想产生SurfaceTexture
不喜欢渲染TextureView
等的帧,我有来自 WebRTC 的 YUV 数据流,我希望这个流在,SurfaceTexture
以便以后我可以EXTERNAL_TEXTURE_OES
在消费者级别访问它。我找不到任何关于在 SurfaceTexture 上生成帧的来源。是否可以将 YUV 帧生成到 SurfaceTexure?
解决方案
可以将YUVI420帧转成byteArray,画在canvas上,放到TextureView上
val canvas: Canvas = textureView.lockCanvas()
canvas.drawBitmap(sourceBitmap, 200f, 100f, Paint())
textureView.unlockCanvasAndPost(canvas)
推荐阅读
- javascript - Sinon Stub 单元测试
- java - JSONException: courseDivide 没有值
- html - 通过css将鼠标悬停在链接上时尝试显示隐藏的导航元素
- apache-zookeeper - 领导者选举:Etcd vs Zookeeper vs Hazelcast
- mysql - 在哪里设置会话时区(MySql)
- c++ - Visual C++ 2017(版本 15.9.3)中的看似错误
- mysql - MYSQL 如何在 MySql 上添加自动递减计划?
- algorithm - 如何包含 alpha 通道以使用 Spatial CIELAB (S-CIELAB) 计算色差?
- ios - React Native:请求权限时崩溃
- python - Dask.dataframe 或替代方案:删除低频项行的可扩展方式