关于SurfaceView的截图问题

简介:

在使用Mediaplayer播放视频的时候,很自然的想到一个功能就是能否截取其中的一个视频画面,并导出成一张图片。

但是很遗憾,查了很多方法,也没发现类似接口。

后来想到Mediaplayer的画面是在SurfaceView中刷新的,所以又想到能否通过view的截图方法来得到。

(view的截图方法参考:http://lovezhou.iteye.com/blog/836662

可是我尝试之后,发现截图是黑屏。

后来,找到以下一段文字:(来自:http://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即可。


相关文章
|
存储 缓存 前端开发
关于Android SurfaceView截屏总结
关于Android SurfaceView截屏总结
1654 0
|
XML Android开发 数据格式
Android 动画之帧动画(也叫图片动画)的用法
Android 动画之帧动画(也叫图片动画)的用法
174 0
|
Android开发 UED
Android:OnTouchListener的简单使用,按钮点击放大与缩小
Android:OnTouchListener的简单使用,按钮点击放大与缩小
424 0
YFGif播放控件源码介绍
YFGif播放控件源码介绍
569 0
|
iOS开发 vr&ar
iOS开发-获取View截图图像
在做ar的时候突然有取图的需求,小记 先指定图像的大小 UIGraphicsBeginImageContext(view.frame.size); 在指定的区域绘制图像 [view drawViewHierarchyInRect:view.
1418 0
|
存储 Android开发 数据格式
通过Camera、SurfaceView、自己实现拍照及预览效果
照相机拍照需要的权限: <!--写sd卡权限--> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!--读sd卡的权限 --> <uses-permission android:name="android.permis
2220 0