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)
bldym:这个方法是注销对流媒体状态改变的监听。
公共方法4:
void stop ()
此方法是停止截屏的方法;
翻译的不到位,敬请谅解;
我会持续的更新,以求达到最好的解释和理解;
具体使用方法,以后会出一个文章来讲解;