12

在 Android/Java 中,是否有任何代码示例可以以编程方式以每秒良好的帧数捕获计算机的屏幕截图并创建视频?

我想要一个教程或完整的源代码来做到这一点。我希望该程序可以在设备已“植根”的情况下使用和不使用。

Play商店中有一个应用程序Screencast Video Recorder可以做到这一点。但是你需要ROOT设备才能工作,所以我知道它可以完成。

在无根设备上以编程方式捕获 android 屏幕截图和创建视频的最佳方法是什么?

4

5 回答 5

3

检查以下链接 https://code.google.com/p/java-remote-control/

在这个项目中,所有者创建了一个 java 遥控器,即他已经从远程计算机捕获图像并将其传输到服务器并将其转换为具有不同格式的电影,您需要了解他所做的一切并为您的所有需求实施相同的操作. 您可以从以下 URL 使用 SVN 客户端访问完整的源代码

http://java-remote-control.googlecode.com/svn/trunk/

您也可以在 java 中查找提供 createScreenCapture 方法的 Remote 类

于 2012-11-25T20:12:35.127 回答
3

有一个名为 Telecine 的应用程序是开源的,可让您录制屏幕 - 代码可以在https://github.com/JakeWharton/Telecine找到。所有功劳都归功于杰克·沃顿。

如果您需要示例,可以在 Commonsware 的 github 页面上找到一个示例 - Mark Murphy 提供了一个示例应用程序,用于使用 MediaProjection API 进行屏幕捕获和屏幕录制。

于 2016-07-21T00:11:21.527 回答
2

As of Android 4.4, there is a screen recording feature accessible via adb.

http://developer.android.com/tools/help/adb.html#screenrecord

The screenrecord command is a shell utility for recording the display of devices running Android 4.4 (API level 19) and higher. The utility records screen activity to an MPEG-4 file, which you can then download and use as part of a video presentation. This utility is useful for developers who want to create promotional or training videos without using a separate recording device.

于 2014-03-27T11:57:39.050 回答
2

您可以在 adb 运行时使用 DDMS 来捕获屏幕,并且对帧缓冲区具有权限:

点击此链接了解更多详情:

http://thetechjournal.com/electronics/android/how-to-capture-screenshots-and-record-video-on-android-device.xhtml

检查这个链接可能会得到一些关于你需要什么的想法:

http://answers.oreilly.com/topic/951-how-to-capture-video-of-the-screen-on-android/

http://www.mightypocket.com/2010/09/installing-android-screenshots-screen-capture-screen-cast-for-windows/

并检查这个项目:

http://sourceforge.net/projects/ashot/

希望这有帮助。

于 2012-11-19T12:51:59.753 回答
0

从市场上试试这个应用程序

https://play.google.com/store/apps/details?id=com.ms.screencastfree

** 尚不适用于 Galaxy Nexus 或 Tegra 2/3 **

编辑 28/11/2014

Lollipop 已发布并提供新的屏幕录制 API

http://developer.android.com/about/versions/android-5.0.html#UI

截屏和分享

Android 5.0 允许您使用新的 android.media.projection API 为您的应用添加屏幕捕获和屏幕共享功能。此功能很有用,例如,如果您想在视频会议应用程序中启用屏幕共享。

新的 createVirtualDisplay() 方法允许您的应用程序将主屏幕(默认显示)的内容捕获到 Surface 对象中,然后您的应用程序可以通过网络发送该对象。该 API 仅允许捕获非安全屏幕内容,而不是系统音频。要开始截屏,您的应用必须首先通过使用通过 createScreenCaptureIntent() 方法获得的 Intent 启动截屏对话框来请求用户的许可。

有关如何使用新 API 的示例,请参阅示例项目中的 MediaProjectionDemo 类。

于 2012-11-16T20:48:53.310 回答