android 实现屏幕录制功能
https://github.com/guaju/ScreenRecordLibrary
本库是基于MediaProjection封装的手机屏幕录制开源库,并提交到Jcenter,方便大家使用
使用方法:
module中的build.gradle中的depandencies中添加依赖即可,如下
dependencies {
xxxxxx
compile 'com.guaju:screenrecorderlibrary:1.0.1'
}
目前最新的版本是1.0.1,仅仅是朋友用了用,如果大家使用过程中有什么意见和建议,欢迎issue
使用方法:
1、添加权限,注册service
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO" /><service android:name="com.guaju.screenrecorderlibrary.RecordService" />
2、在application中初始化实例
如:private ScreenRecorderHelper instance;public static MyApplication app;@Overridepublic void onCreate() {super.onCreate();app=this;//initinstance = ScreenRecorderHelper.getInstance(this);}public ScreenRecorderHelper getSRHelper(){return instance;}得到ScreenRecorderHelper类并且别忘记在清单文件中配置 application name
3、在需要录屏的activity 或者fragment中初始化RecordService,如
srHelper = MyApplication.getApp().getSRHelper();if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {isclick=true;srHelper.initRecordService(this);}由于我这个库只考虑到了5.0之后的,所以如果有5.0版本之前的手机需要录屏的话,请自行处理
4、复写onActivityResult方法,我在screenRecorderHelper中也定义了一个onActivityResult方法,直接拿来使用即可,如
protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);Log.e("tag", "requestCode****" + requestCode);srHelper.onActivityResult(this, requestCode, resultCode, data, new ScreenRecorderHelper.OnRecordStatusChangeListener() {@Overridepublic void onChangeSuccess() {//开始录制,处理开始录制后的事件dosomething}@Overridepublic void onChangeFailed() {//如果录制失败,则不作任何变化dosomething}});
}
5.准备工作就绪,直接操作开始录制按钮,和停止录制按钮即可
srHelper.startRecord(MainActivity.this);srHelper.stopRecord(new ScreenRecorderHelper.OnRecordStatusChangeListener() {@Overridepublic void onChangeSuccess() {//当停止成功,做界面变化//Toast.makeText(MainActivity.this, "录屏成功"+srHelper.getRecordFilePath(), Toast.LENGTH_SHORT).show();}@Overridepublic void onChangeFailed() {//不作处理}});
ok,走完上边五步就能够实现屏幕录制了,当然如果想改下代码的话,可以下载module库直接修改,多谢指教~~~
android 实现屏幕录制功能相关推荐
- android 实现屏幕录制功能,Android实现屏幕录制功能
本文实例为大家分享了Android实现屏幕录制功能的具体代码,供大家参考,具体内容如下 1.效果图: 2.添加依赖 dependencies { implementation fileTree(dir ...
- android 实现屏幕录制功能,极速简单实现Android 屏幕录制编码为H264并且使用RTMP推流...
最近有使用到屏幕录制功能并需要将屏幕数据推送到服务器端.采用RTMP推送,MediaCodec编码,MediaProjection 获取屏幕数据. 1.录制屏幕 在Android5.0 后可以采用原生 ...
- Android 实现屏幕录制和截屏
在移动开发中,实现屏幕录制和截屏是常见的需求.对于 Android 应用而言,实现屏幕录制和截屏可以帮助开发者更好地测试和调试自己的应用,同时还能够提供一些特定场景下的用户体验. 屏幕录制 Andro ...
- python 屏幕录制_Python实现屏幕录制功能的代码
前段时间做视频时需要演示电脑端的操作,因此要用到屏幕录制,下载了个迅捷屏幕录制,但是没有vip录制的视频有水印且只能录制二分钟,于是鄙人想了下能不能通过万能的python来实现呢?经过一晚上的尝试发现 ...
- ios html录制视频,iPhone怎么录屏?玩转iOS14自带屏幕录制功能全攻略
原标题:iPhone怎么录屏?玩转iOS14自带屏幕录制功能全攻略 录屏是很多小伙伴,平时用的比较多的一项功能.苹果手机内置了录屏功能,无需下载安装第三方APP即可体验.不过,有一些小伙伴对iPhon ...
- IOS ReplayKit RPScreenRecorder 的屏幕录制功能
IOS ReplayKit RPScreenRecorder 的屏幕录制功能 开始录制有两个方法: (void)startRecordingWithMicrophoneEnabled:(BOOL)mi ...
- python屏幕录制与回放_Python实现屏幕录制功能的代码
前段时间做视频时需要演示电脑端的操作,因此要用到屏幕录制,下载了个迅捷屏幕录制,但是没有vip录制的视频有水印且只能录制二分钟,于是鄙人想了下能不能通过万能的python来实现呢?经过一晚上的尝试发现 ...
- python实现屏幕录制_Python实现屏幕录制功能的代码
前段时间做视频时需要演示电脑端的操作,因此要用到屏幕录制,下载了个迅捷屏幕录制,但是没有vip录制的视频有水印且只能录制二分钟,于是鄙人想了下能不能通过万能的python来实现呢?经过一晚上的尝试发现 ...
- ReplayKit 的屏幕录制功能
苹果在 iOS 9 中新添加了 ReplayKit 库,主要作用就是 RPScreenRecorder 的屏幕录制功能.在 iOS 10 中,苹果又为 ReplayKit 添加了RPBroadcast ...
最新文章
- 公司成立两周年感言_对我的副项目成立一周年的一些反思
- 让静态对象来维护你的数据
- python whl大全
- 【HDU 2814 扩展欧拉 a^b ≡ (a mod c)^b mod ϕ(c)+ϕ(c) modc,b=ϕ(c) 】
- 读写分离怎么实现_项目中如何实现读写分离?怎么配置?
- php登录框注入,分享一个php的防火墙,拦截SQL注入和xss
- ACL 2019开源论文 | 基于Attention的知识图谱关系预测
- salt-ssh的使用(不需要安装客户端)
- python传文件给堡垒机上远程的另一个机器_如何用hive调度堡垒机上的python脚本...
- python 字节字符串_Python字符串转换为字节,字节转换为字符串
- PGP软件的安装及汉化
- teraterm 执行sql命令_捆绑你的操作(windows tera term高阶用法之并行处理)
- Resource is out of sync with the file system的解决办法
- 3D模型欣赏:美杜莎女妖 角色设计完整 造型独特
- 使用GO实现尚硅谷家庭记账系统
- OpenVINO常用PythonAPI详解与演示
- Calcite parser config介绍
- 静态网页的广告banner部分
- 微信开发文本信息如何换行
- 纯干货!轻量化软件设计五大法则
热门文章
- 《视觉SLAM十四讲》-第三章第3节第4节-欧拉角、四元数-学习笔记总结
- 实现微信扫码或关注公众号后网站自动登录
- Java在线聊天室课程设计(嘉然UI界面)
- Berkeley DB的使用
- javase之java基础语法0基础版
- 基于信息熵确立权重的topsis法_一种基于改进多目标粒子群算法的受端电网储能优化配置方法与流程...
- 物联网卡让物流行业“灵活”起来
- 字节跳动2021年4月面试算法题库
- 华为无线上网卡E3276自动联网驱动程序For Windows
- python数据挖掘教材_Python数据分析与挖掘实战