首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Android开发笔记(一百三十)截图和录屏

Android5.0之后开放了屏幕捕捉的API,因此开发者便可以直接通过代码进行截图与录屏,而无需操作系统底层了。屏幕捕捉的功能由MediaProjectionManager媒体投影管理器实现,该管理器的对象从系统服务MEDIA_PROJECTION_SERVICE中获得。注意MediaProjectionManager是Android5.0之后新增的工具,故代码中要补充判断系统版本,如果是4.*及以下版本,则不可处理屏幕捕捉操作。 具体的屏幕捕捉,还要调用媒体投影管理器对象的getMediaProjection方法,获取MediaProjection媒体投影对象。MediaProjection主要有两个方法,说明如下: createVirtualDisplay : 创建虚拟显示层。可分别指定显示层的名称、宽度、高度、密度、标志、渲染表面等等。其中标志通常取值DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR,渲染表面则按照截图和录屏两种方式分别取值。 stop : 停止投影。 屏幕捕捉的用途主要是截图和录屏,这有点像摄像头的功能,截图对应拍照,而录屏对应录像。对于拍照和录像,我们知道需要创建一个SurfaceView表面视图做为画面预览层,那么就屏幕捕捉而言,也需要创建一个虚拟显示对象做为投影预览层。这个投影预览层即前面createVirtualDisplay方法返回的VirtualDisplay对象,具体的表面对象则为createVirtualDisplay方法中的渲染表面参数,也就是一个Surface对象。如果当前为截图操作,那么调用ImageReader对象的getSurface方法获得渲染表面;如果当前为录屏操作,那么调用MediaCodec对象的createInputSurface方法获得渲染表面。

04

《Android Studio开发实战 从零基础到App上线(第2版)》资源下载和内容勘误[通俗易懂]

下面是《Android Studio开发实战 从零基础到App上线(第2版)》一书用到的工具和代码资源: 1、本书使用的Android Studio版本为3.2,最新的安装包可前往Android官网页面下载。 2、本书使用的Android NDK版本为r17,最新的安装包可前往Android官网页面下载。 3、本书提供所有示例源码的demo工程下载,源码(适配Android4.1到9.0和Android Studio 3.2到3.4)的下载页面为https://pan.baidu.com/s/14NE2DD-frXxuDXUAlTfRaw。最新的源码也可访问我的github获取,github地址是https://github.com/aqi00/android2,服务端的github地址是https://github.com/aqi00/net_server。(部分地区如新疆既访问不了百度网盘也访问不了github,此时可访问csdn的下载页面获取源码https://download.csdn.net/download/aqi00/11223223)。另外,AS3.4之后默认开了androidx,如需获取适配了androidx的本书源码,可访问这个github页面https://github.com/aqi00/androidx。 有的读者反映从github下载本书源码很慢,或者下载不完整,这是国外服务器连接不稳定造成的。建议访问这个代下载网站https://d.serctl.com/,按照网站左上角的“如何下载教程”,找到本书源码的github下载地址并提交,等待几秒后就能在该网站下载完整的源码了。 源码与各章的对应关系表见下图:

01

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券