最近在做视频录制的项目,把自己这段时间的研究内容断断续续发布到博客上,今天要讲的是MediaProjection。
android在5.0系统之前,是没有开放视频录制的接口的,如果要录制视频,必须要先root,这部分我会在随后的博客中细讲。
在5.0,Google终于开放了视频录制的接口(其实严格来说,是屏幕采集的接口),也就是MediaProjection和MediaProjectionManager。
首先来说MediaProjectionManager,它是一个系统级的服务,类似WindowManager,AlarmManager等,你可以通过getSystemService方法来获取它的实例:
MediaProjectionManager mMediaProjectionManager = (MediaProjectionManager) getSystemService(MEDIA_PROJECTION_SERVICE);
获取到实例后,录像的过程如下(有点像拍照的流程):
首先:
Intent captureIntent = mMediaProjectionManager.createScreenCaptureIntent();
startActivityForResult(captureIntent, REQUEST_CODE);
createScreenCaptureIntent方法的注释如下:
/** * Returns an Intent that <b>must</b> passed to startActivityForResult() * in order to start screen capture. The activity will prompt * the user whether to allow screen capture. The result of this * activity should be passed to getMed