关于SurfaceView的截图问题
在使用Mediaplayer播放视频的时候,很自然的想到一个功能就是能否截取其中的一个视频画面,并导出成一张图片。
但是很遗憾,查了很多方法,也没发现类似接口。
后来想到Mediaplayer的画面是在SurfaceView中刷新的,所以又想到能否通过view的截图方法来得到。
(view的截图方法参考:https://lovezhou.iteye.com/blog/836662)
可是我尝试之后,发现截图是黑屏。
后来,找到以下一段文字:(来自:https://www.son1c.net/android_develop/2089.html)
2. SurfaceView如何截图 ? 使用Linux下标准的Framebuffer无法获取是一片黑色,类似Windows下截取DirectX这样的DMA模式的数据一样,由于SurfaceView在游戏或高实时性画面比较多,Android除了从2.3.3开始新增了一个SurfaceFlinger API用于截图.当然有关OpenGL的截图还可以查看android开发网早期文章,如果你有Root权限截图普通图片通过读取/dev/graphics/fb0即可。
最后更新:2017-04-02 06:52:11
上一篇:
我奋斗了18年才和你坐在一起喝咖啡
下一篇:
JAVA面试题-STRINGBUFFER倒序输出、正则将首字母大写
C++11:使用 auto/decltype/result_of使代码可读易维护
五种令人沮丧的告警垃圾及处理办法!
Cmd批处理替换文件
oracle和sql server取第一条记录的区别以及rownum详解
如何通过EIP实现VPC下的SNAT以及DNAT
Javascript基础学习之基本语法
七周成为数据分析师—Excel分析篇
为什么 C 语言屹立不倒?
Exception in thread "taskExecutor-4" java.lang.AbstractMethodError: com.mchange.v2.c3p0.impl.NewProx
Django 博客开发教程 9 - 支持 Markdown 语法和代码高亮