Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
API&x27;Android 4.4的屏幕录制是什么?_Android_Video Encoding_Screen Capture - Fatal编程技术网

API&x27;Android 4.4的屏幕录制是什么?

API&x27;Android 4.4的屏幕录制是什么?,android,video-encoding,screen-capture,Android,Video Encoding,Screen Capture,其中之一是,它为开发人员提供了一种使用adb shell screenrecord捕获屏幕MP4视频的方法。安卓4.4是否为应用程序提供了新的API来捕获和编码视频,还是仅仅提供了screenrecord实用程序/二进制文件 我这样问是因为我想在我正在编写的应用程序中做一些屏幕捕获工作。在任何人询问之前,是的,应用程序将具有帧缓冲区访问权限。然而,我看到的唯一一个Android提供的捕获/编码API()似乎仅限于录制视频 我在StackOverfow上看到的唯一屏幕捕获解决方案似乎是围绕着以固定

其中之一是,它为开发人员提供了一种使用
adb shell screenrecord
捕获屏幕MP4视频的方法。安卓4.4是否为应用程序提供了新的API来捕获和编码视频,还是仅仅提供了
screenrecord
实用程序/二进制文件

我这样问是因为我想在我正在编写的应用程序中做一些屏幕捕获工作。在任何人询问之前,是的,应用程序将具有帧缓冲区访问权限。然而,我看到的唯一一个Android提供的捕获/编码API()似乎仅限于录制视频


我在StackOverfow上看到的唯一屏幕捕获解决方案似乎是围绕着以固定间隔拍摄屏幕快照,或者使用JNI使用ffmpeg的移植版本对帧缓冲区进行编码。还有更优雅的本机解决方案吗?

好吧,好吧,我看不到API支持等同于捕获屏幕上的内容。

screenrecord实用程序使用私有API,因此您无法完全执行它的功能

其工作方式是创建虚拟显示,将虚拟显示路由到视频编码器,然后将输出保存到文件。您可以做基本相同的事情,但因为您不是以“shell”用户的身份运行,所以只能看到您创建的层。相关的API是围绕创建一个新的API而设计的,这可能不是您想要的

请使用一个简单的示例查看(仅使用ImageView)


当然,如果您碰巧是GLES应用程序,您可以直接记录输出(参见中的“记录GL应用程序”活动)。

现在可以在Android 5.0中使用media.projection API: