`
limingcai
  • 浏览: 112398 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android 屏幕截屏,并将之生成视频文件

阅读更多
近段时候有一个问题困扰着我,那就是在玩一个android游戏的时候如何将这个游戏中的一些好玩,好看,好听的action保存起来。于是乎首先在google上面输入 android screen capture 搜了一把。说的比较多,但是也无非就是以下三种方法:
1.使用系统 \android-sdk-windows\tools\lib\ddms.jar 来实现,这种实现过程类似将手机连接到电脑(安装了Android SDK,Usb 驱动) 但是这种方法鄙人没有亲自尝试过。

2.第二种,如果看过launcher源码的人都应该知道,使用以下方法可以实现截屏,但是那个状态条会是黑色,如何向去掉这个黑色状态条可以将之设置成全屏就OK。并且使用这个方法截屏必须是在UI主线程内,而且在截屏前要确保该View已经绘制出来了。具体代码如下:

private Bitmap getViewBitmap(View v) {

if (!v.isDrawingCacheEnabled()) {

Log.d("v.isDrawingCacheEnabled() == false");

return null;

}

v.clearFocus();

v.setPressed(false);

boolean willNotCache = v.willNotCacheDrawing();

v.setWillNotCacheDrawing(false);

// Reset the drawing cache background color to fully transparent

// for the duration of this operation

int color = v.getDrawingCacheBackgroundColor();

v.setDrawingCacheBackgroundColor(0);

if (color != 0) {

v.destroyDrawingCache();

}

v.buildDrawingCache();

Bitmap cacheBitmap = v.getDrawingCache();

if (cacheBitmap == null) {

Log.d("v.getDrawingCache() == null");

return null;

}

Bitmap bitmap = Bitmap.createBitmap(cacheBitmap);

// Restore the view

v.destroyDrawingCache();

v.setWillNotCacheDrawing(willNotCache);

v.setDrawingCacheBackgroundColor(color);

return bitmap;

}

3.第三种,技术含量稍微高点,但是要有root权限,那就是在FrameBuffer中直接取数据,这种功能也是最强大。而且此法要求对Linux,和C++,JNI有一定了解的。

图片有了,那么就如何将图片转换成视频了,可喜的是 一种叫做MotionJPEG格式的视频可以处理这件事,至于具体如何实现,请Google去吧。

热烈欢迎转载,而且可以不用说明出处


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cupidclb/archive/2010/08/26/5839808.aspx
分享到:
评论
2 楼 sfshine 2011-10-07  
楼主说了思想.
1 楼 qiaoweishu 2010-10-18  
好资料,学习中,谢谢!

相关推荐

    Android 截屏 和录制屏幕

    在Android平台上,截屏和录制屏幕是两种常见的功能,它们对于开发者调试应用、用户分享屏幕内容或制作教程视频都有重要作用。接下来,我们将深入探讨这两种技术的实现原理。 **一、Android 截屏** 1. **获取屏幕...

    android 布局生成图片

    在Android开发中,有时我们需要将一个布局转换为图片,例如为了实现分享到微信的功能,或者进行屏幕截图。本文将深入探讨如何在Android中实现“布局生成图片”这一技术,以及如何将其与微信分享功能集成。 首先,让...

    Android获取webView快照与屏幕截屏的方法

    在Android开发中,有时我们需要对WebView的内容进行快照捕获,或者进行屏幕截屏操作,以便于分享、存储或进一步处理。以下将详细介绍如何在Android应用中实现这些功能。 1. **WebView快照获取** WebView是Android...

    Android实现屏幕截图并保存截图到指定文件

    Android屏幕截图并保存截取屏幕的图片到指定文件,具体内容如下 注意要添加权限: <uses android:name=android.permission.WRITE_EXTERNAL_STORAGE> 完整代码: package zhangphil.test; import android.app....

    Android Dimens 适配文件生成工具(附生成截图)

    通常,这样的工具会有一个图形用户界面,允许用户输入基准尺寸和密度信息,然后生成相应的`dimens.xml`文件,并将其放置在项目的`res/values`目录下对应的密度文件夹内。 使用`dimens.xml`适配文件生成工具能够大大...

    android ddmlib截屏源码

    本文将深入探讨`ddmlib`如何实现Android设备的截屏功能,以及如何在PC端通过`ddmlib`进行截图操作。 首先,让我们理解`ddmlib`的核心概念。`ddmlib`基于ADB(Android Debug Bridge),它是一个命令行工具,用于连接...

    安卓截图截屏相关-android截屏上传图片到服务器.rar

    在安卓平台上,截图和截屏是用户日常操作的一部分,开发者也需要处理这些图像数据,例如将它们上传到服务器。本文将详细讲解安卓截图截屏的相关知识,以及如何将截图上传到服务器。 1. 安卓系统截图机制: 安卓...

    屏幕截屏并保存1

    本文主要讨论了两种常见的屏幕截屏方法,并对它们的优劣进行了对比,以及在实际应用中的注意事项。 首先,我们来看通过OpenGL实现的屏幕截屏。OpenGL是一种强大的图形库,它提供了`glReadPixels`函数,可以直接从...

    android截屏

    在Android系统中,截屏功能是一项基础且常用的操作,它允许用户快速捕获屏幕上的内容以便分享或保存。本文将围绕“android截屏”这一主题,深入探讨Android平台上的截屏实现方式,以及如何开发一个简单的截屏应用,...

    Android-Gsnap截图代码所用库文件.

    这个区域包含的是未经处理的原始像素数据,因此,要获取屏幕截图,就需要读取这部分内容并进行适当的转换以生成可识别的图片格式,如JPEG或PNG。 然而,由于`/dev/graphics/fb0`是一个敏感区域,普通应用没有权限...

    基于Android adb的自动截图批处理

    这个批处理脚本会连续截取100张屏幕快照,每秒一张(1000毫秒延迟),并将截图保存到与脚本同一目录下。你可以根据实际需求修改`COUNT`和`DELAY`变量的值。 为了自动化这个过程,可以将批处理脚本放在启动项中,...

    一个完整的android framebuffer截图程序 加强版

    为了获取Framebuffer的截图,我们需要读取这个内存区域的内容,并将其保存为图像文件。这个过程涉及到以下几个关键步骤: 1. **权限获取**:由于Framebuffer是系统级别的资源,所以在开发这样的程序时,你需要在...

    android截屏代码

    在Android开发中,截屏功能是一项常见的需求,无论是为了调试应用、分享屏幕内容还是构建功能如录屏。本文将深入探讨如何使用`drawingcache`方法实现Android应用的截图功能。 首先,我们需要理解`drawingcache`的...

    Android 简单的截屏应用 源码

    总的来说,这个“Android简单的截屏应用”涵盖了Android权限管理、屏幕截图、文件保存、UI设计等多个核心概念。对于初学者来说,通过分析和理解这个源码,可以深入学习Android开发的基本流程和技术点。

    Android实现指定区域截屏

    本文将详细介绍如何在Android中实现这一功能,包括理解屏幕截图的基本原理、获取屏幕信息、绘制自定义区域以及保存和展示截图。 1. **屏幕截图的基本原理** 在Android中,我们可以获取到设备的根视图(root view)...

    Android-ScreenshotMaker一个小型java程序用于生成带有标题和说明的统一PlayStore屏幕截图

    【Android-ScreenshotMaker】是一个专为Android应用开发者设计的小型Java程序,它的主要功能是帮助开发者创建具有专业外观且包含标题和说明的Play Store屏幕截图。这个工具对于那些希望提升应用商店页面展示效果的...

    Android4.0下使用framebuffer抓屏并保存成bmp文件

    在Android 4.0(Ice Cream Sandwich)版本中,开发者可以通过访问framebuffer来实现屏幕抓取功能,即获取当前屏幕的图像并保存为图像文件,如BMP格式。下面我们将详细讨论如何在Android 4.0下使用framebuffer抓屏并...

Global site tag (gtag.js) - Google Analytics