Android 如何从SurfaceView获取屏幕截图?
我正在使用ExoPlayer播放一些视频,我想在我的SurfaceView上显示当前图片,我如何制作Android 如何从SurfaceView获取屏幕截图?,android,surfaceview,exoplayer,Android,Surfaceview,Exoplayer,我正在使用ExoPlayer播放一些视频,我想在我的SurfaceView上显示当前图片,我如何制作 谢谢,如果您使用SurfaceView,则无法获取屏幕截图。但是,您可以使用TextureView来播放视频,然后您可以从TextureView获得屏幕截图 下面是使用TextureView的示例代码,在其onSurfaceTextureAvailable()回调上,您可以获得一个SurfaceTexture,然后可以使用此SurfaceTexture为ExoPlayer创建一个曲面 playe
谢谢,如果您使用SurfaceView,则无法获取屏幕截图。但是,您可以使用TextureView来播放视频,然后您可以从TextureView获得屏幕截图 下面是使用TextureView的示例代码,在其onSurfaceTextureAvailable()回调上,您可以获得一个SurfaceTexture,然后可以使用此SurfaceTexture为ExoPlayer创建一个曲面
player = ...
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
...
player.setSurface(new Surface(mSurfaceTexture));
...
}未测试,取自:
将输入参数更改为更通用
protected Bitmap ConvertToBitmap(View layout) {
layout.setDrawingCacheEnabled(true);
layout.buildDrawingCache();
return layout.getDrawingCache();
}
到目前为止你试过什么?你对SurfaceView和/或ExoPlayer视频渲染器满意吗?就SurfaceView而言,这是它的复制品。我不知道ExoPlayer是否有一些漂亮的屏幕抓取功能。@Zun-wird,刚刚测试过,效果很好。你有什么问题?