Qt利用avilib实现录屏功能_[丁哥开讲7期] 安卓设备上实现录屏功能的编程步骤说明...

382468dd32649a58d9cbb97b1b681e79.png

随着安卓设备市场占有率的不断攀升,越来越多的安卓应用为更多的人提供着更加完备的服务。

这一期我们来探讨一下安卓设备上的录屏功能如何实现。

第一步,确定安卓版本在5及其以上,从安卓5开始,有了一个新的Package: Android.media.projection。如果是安卓5之前的版本就复杂一些,这期我们不讨论。

第二步,定义录屏服务。要用到如下几个关键类:MediaProjetionManager,MediaProjection, VirtualDisplay, MediaCodec, MediaMuxer, MediaMuxer.BufferInfo,FloatView

FloatView主要是定制人机交互接口,用来开始和结束录屏。

录制开始时,设定视频格式,fps, bit rate等参数用于视频编码MediaCodec。

接下来获取MediaProjection, 从而创建VirtualDisplay。

然后创建视频路径,用视频全路径生成一个MediaMuxer.

在一个循环中,用MediaCodec读取视频缓冲,用MediaMuxer写入到视频文件中。

第三步,如果是自己的独立应用使用上述服务,就在自己的程序中,启动第二步定义的服务。如果上述服务作为一个单独的应用启动,则单独启动这个录屏应用。

第四步,通过交互界面实现录屏功能。

第五步,当然,作为安卓程序员都很熟悉的,我们需要提供程序运行所需要的权限。

怎么样?不难吧!

6634b616580fed10dcc5cc3797c60bb2.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值