Bra*_*den 11 android screenshot bitmap android-videoview
所以我试图做一个VideoView的屏幕截图.我认为最简单的方法是:
videoView.setDrawingCacheEnabled(true);
Run Code Online (Sandbox Code Playgroud)
然后我需要截取屏幕截图:
Bitmap screenshot = videoView.getDrawingCache();
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,我回来的位图每次都只是黑色.任何人都有这个成功吗?我也尝试过:
Bitmap bitmap = Bitmap.createBitmap(videoView.getWidth(), videoView.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
videoView.draw(canvas);
Run Code Online (Sandbox Code Playgroud)
但是再次,这给我一个黑色的图像.我可以看到VideoView几乎没有记录在Android javadocs中.有帮助吗?
Mat*_*lis 13
来自View#setDrawingCacheEnabled的文档:
启用绘图缓存类似于关闭硬件加速时设置图层.打开硬件加速时,启用绘图缓存对渲染没有影响,因为系统使用不同的加速机制忽略该标志.如果要对视图使用位图,即使启用了硬件加速,请参阅setLayerType(int,android.graphics.Paint)以获取有关如何启用软件和硬件层的信息.
VideoView可能通过硬件加速运行并绕过缓存机制.一个好的潜水源潜水可能会有所启发.
编辑 - 这篇文章似乎清楚了一些事情:
抱歉,就其本质而言,SurfaceView不会在普通视图层次结构更新系统中绘制,因此不会在其中绘制.
(VideoView是SurfaceView的孩子)
| 归档时间: |
|
| 查看次数: |
11546 次 |
| 最近记录: |