【发布时间】:2015-04-16 15:00:19
【问题描述】:
我现在遇到的困难是截取 SurfaceView 的屏幕截图。有人可以帮忙吗?
我的团队正在做一个 Android 项目,我们使用 MediaCodec 解码视频源并将该源渲染到 Surface 上。 活动实现
SurfaceHolder.Callback
然后我们创建了一个 SurfaceView 并添加了 Callback:
mySurfaveView.getHolder().addCallback(this);
然后我们开始解码视频输入(我们有一个解码方法)
surfaceChanged(SurfaceHolder holder, int format, int width, int height)
视频工作正常,现在我想截取渲染到 SurfaceView 上的内容。我已经尝试了几种方法来做到这一点,但我没有成功。以下是我尝试过的:
- 我已经厌倦了获取 rootView 的绘图缓存。
- 尝试直接从 MediaCodec 获取帧。
- 尝试使用 draw() 方法在画布上绘图。
到目前为止,我正在尝试创建一个自定义 SurfaceView 并覆盖那里的 onDraw 方法。但是,我从未创建过自定义 SurfaceView。我的方向正确吗?
请帮忙。谢谢!
【问题讨论】:
标签: android screenshot surfaceview