Android之MediaProjection的简介

来源:互联网 发布:知世鼓励小狼 编辑:程序博客网 时间:2024/04/26 21:28

Android之MediaProjection的简介

转载链接:http://blog.csdn.net/qq_16628781/article/details/61953081

知识点:

1、MediaProjection简介;

2、MediaProjection方法简介;

3、新名词记录{

VirtualDisplay:详情请看这里 http://blog.csdn.net/qq_16628781/article/details/62038163

MediaProjectionManager:MediaProjection的管理类

}

MediaProjection是一个5.0之后给开发者提供的新的截屏或者录屏的新手段。MediaProjection可以用来捕捉屏幕,而MediaProjectionManager可以从命名上面来看到,它是是用来管理MediaProjection的。

MediaProjection是一个准许APP拥有截取屏幕或者是记录系统音频的能力。还有其他的能力依据MediaProjection的类型。通过MediaProjectionManager 类的 createScreenCaptureIntent()方法来开启,可以用来截取屏幕,但是不能够获取系统的音频。

下面是类下面的公共方法说明,这个类的公共方法并不多,也很容易理解;

公共方法1:

VirtualDisplay createVirtualDisplay (String name,                 int width,                 int height,                 int dpi,                 int flags,                 Surface surface,                 VirtualDisplay.Callback callback,                 Handler handler)创建一个屏幕的截图,保存在VirtualDisplay中,并返回。参数1:实际的流媒体显示实体名字,不能为null;参数2:实际的流媒体显示实体的宽度,单位为像素,必须大于0;参数3:实际的流媒体显示实体的高度,单位为像素,必须大于0;参数4:实际的流媒体显示实体的像素密度,单位为dp,必须大于0;参数5:实际的流媒体显示实体标志的结合,更多请查看 DisplayManager里头的标志,取值是{VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR,VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY,VIRTUAL_DISPLAY_FLAG_PRESENTATION,VIRTUAL_DISPLAY_FLAG_PUBLIC,VIRTUAL_DISPLAY_FLAG_SECURE}中的一个参数6:播放流媒体的surface实例,可为null,如果木有;参数7:实际的流媒体显示实体状态改变时的回调方法,可能为null;参数8:调用参数7回调方法的handler;返回VirtualDisplay实例,具体请查看VirtualDisplay类;

公共方法2:

此方法是注册监听流媒体显示实体状态改变时的回调方法。参数请参照createVirtualDisplay()方法的参数7参数8;

void registerCallback (MediaProjection.Callback callback,                 Handler handler)

公共方法3:

void unregisterCallback (MediaProjection.Callback callback)

顾名思义:这个方法是注销对流媒体状态改变的监听。

公共方法4:

void stop ()

此方法是停止截屏的方法;


翻译的不到位,敬请谅解;

我会持续的更新,以求达到最好的解释和理解;

具体使用方法,以后会出一个文章来讲解;



1 0