我有这个 android 应用程序。
它使用 SurfaceView
,从那里我通过 SurfaceHolder
获得 Surface
。
它还使用 ExoPlayer
来播放视频。但是我已经实例化了一个 ImageReader
,获取它的 Surface
并传递给 ExoPlayer
。
现在,我在 ImageReader.OnImageAvailableListener#onImageAvailable
中访问最新的 Image
。
我想操作 Image
并将新数据发送到“SurfaceView
”Surface
。
如何将 android.media.Image
“绘制”到 android.view.Surface
?
最佳答案
这个问题我不是很清楚。 获取 android.media.Image 的方法是通过 Camera2 API,您可以在那里提供一个表面,“相机”将在其上绘制。请引用Camera2Video example
获取 Image 对象的另一种方法是从 ImageReader(例如在解码视频时)。在这种情况下,您想要绘制图像,但无法为 ImageReader 提供表面(存在未显示的内部表面)。在这种情况下,您可以在 SurfaceView 上绘制图像。 假设是这种情况,您需要将 Image 转换为 Bitmap 对象。
你们讨论了如何执行这个 here
关于android - 将 android.media.Image 绘制到表面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32208981/