将android.media.Image绘制到曲面

Vit*_*lio 10 android exoplayer

我有这个Android应用程序.

它使用a SurfaceView,从中我Surface通过SurfaceHolder.

它还ExoPlayer用于流式传输视频.然而,我已经实例化了一个ImageReader,得到它Surface并传递给了ExoPlayer.

现在,我在ImageReader.OnImageAvailableListener#onImageAvailable和我访问最新的Image.

我想操纵Image并将新数据发送到" SurfaceView" Surface.

我如何"画" android.media.Image到一个android.view.Surface

Bas*_*ein -1

可能重复:如何在 SurfaceView Android 上绘制图像

lockCanvas()首先使用(请参阅此处)获取画布,然后使用以下方法获取图像并使其成为可绘制对象:

my_bitmap = Bitmap.createBitmap(
  MediaStore.Images.Media.getBitmap(getContentResolver(), uri),
  0,0,90, 90);
drawable=new BitmapDrawable(my_bitmap); 
Run Code Online (Sandbox Code Playgroud)

之后,您可以将可绘制对象绘制到锁定的画布上,并用于unlockCanvasAndPost (Canvas canvas)将更新后的画布发布回表面视图。

  • 抱歉,但我不明白:如何使用 Bitmap.createBitmap 转换 android.media.Image 实例?我不是在谈论图像资源...... (3认同)