Android视频录制--MediaProjection

本文详细介绍了Android 5.0及更高版本中如何使用MediaProjection API进行视频录制。从MediaProjectionManager的获取到创建ScreenCaptureIntent,再到启动录制并获取MediaProjection,最后通过createVirtualDisplay创建VirtualDisplay实现屏幕内容的捕捉。通过SurfaceView展示捕获内容,实现屏幕录制功能。源代码可在作者资源中下载。
摘要由CSDN通过智能技术生成

最近在做视频录制的项目,把自己这段时间的研究内容断断续续发布到博客上,今天要讲的是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
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值