如何从SurfaceView获取屏幕截图?

时间:2016-03-14 15:00:29

标签: android surfaceview exoplayer

我正在使用ExoPlayer播放一些视频,并且我想在SurfaceView上显示当前的图片,我该如何制作?

谢谢,

2 个答案:

答案 0 :(得分:0)

如果使用SurfaceView,则无法获取屏幕截图。但是,您可以使用TextureView播放视频,然后您可以从TextureView获取屏幕截图。

以下是使用TextureView的示例代码,在其 onSurfaceTextureAvailable()回调中,您可以获得 SurfaceTexture ,然后您可以使用此 SurfaceTexture ExoPlayer

创建 Surface
player = ...

public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
   ...
   player.setSurface(new Surface(mSurfaceTexture));
   ...

}

答案 1 :(得分:0)

未经测试,取自:How to convert View to Bitmap in android?

将输入参数更改为更通用。

protected Bitmap ConvertToBitmap(View layout) {

    Bitmap map;

    layout.setDrawingCacheEnabled(true);

    layout.buildDrawingCache();

    return map=layout.getDrawingCache();

}