Android在Kitkat和Lollipop上获得了新的API,用于视频捕获屏幕.您可以通过ADB工具或通过代码(从Lollipop开始)来完成.
自新API发布以来,许多应用程序都使用此功能,允许记录屏幕,微软甚至制作了自己的Google-Now-On-tap竞争对手应用程序.
使用ADB,您可以使用:
adb shell screenrecord /sdcard/video.mp4
Run Code Online (Sandbox Code Playgroud)
您甚至可以在Android Studio内部执行此操作.
我找不到任何有关如何使用API的教程或解释,这在代码中是有意义的.
我找到的唯一的地方是文件(这里,在"屏幕截图和分享"下),告诉我这个:
Android 5.0允许您使用新的android.media.projection API为您的应用添加屏幕捕获和屏幕共享功能.例如,如果要在视频会议应用中启用屏幕共享,此功能很有用.
新
createVirtualDisplay()方法允许您的应用程序将主屏幕的内容(默认显示)捕获到Surface对象中,然后您的应用可以通过网络发送该对象.API仅允许捕获非安全屏幕内容,而不是系统音频.要开始屏幕捕获,您的应用必须首先通过使用通过该createScreenCaptureIntent()方法获得的Intent启动屏幕捕获对话框来请求用户的许可.有关如何使用新API的示例,请参阅示例项目中的MediaProjectionDemo类.
事实是,我找不到任何"MediaProjectionDemo"样本.相反,我发现了"屏幕截图"样本,但我不明白它是如何工作的,因为当我运行它时,我所看到的只是一个闪烁的屏幕,我不认为它将视频保存到一份文件.样本看起来非常错.
如何使用新API执行这些操作:
另外,我如何自定义它(分辨率,请求的fps,颜色,时间......)?
android screenshot screen-recording android-4.4-kitkat android-5.0-lollipop