Android MediaProjection截屏与录屏(ScreenCapture Library 的使用)(二)
项目地址
https://github.com/shark5/ScreenCapture 欢迎Star~~
Gradle 引用
compile 'com.shark:screencapture:1.0.0'
创建实例
ScreenCapture mScreenCapture = ScreenCapture.newInstance(this);
事件监听
mScreenCapture.setCaptureListener(new ScreenCapture.OnCaptureListener() {@Overridepublic void onScreenCaptureSuccess(Bitmap bitmap, String savePath) {Log.d(TAG, "onScreenCaptureSuccess savePath:" + savePath);}@Overridepublic void onScreenCaptureFailed(String errorMsg) {Log.d(TAG, "onScreenCaptureFailed errorMsg:" + errorMsg);}@Overridepublic void onScreenRecordStart() {Log.d(TAG, "onScreenRecordStart");}@Overridepublic void onScreenRecordStop() {Log.d(TAG, "onScreenRecordStop");}@Overridepublic void onScreenRecordSuccess(String savePath) {Log.d(TAG, "onScreenRecordSuccess savePath:" + savePath);}@Overridepublic void onScreenRecordFailed(String errorMsg) {Log.d(TAG, "onScreenRecordFailed errorMsg:" + errorMsg);}});
设置图片和视频保存路径
可不设置,即使用默认路径
mScreenCapture.setImagePath(Environment.getExternalStorageDirectory().getPath() + "/ScreenCapture/screen_capture/", "image_screen.png");
mScreenCapture.setRecordPath(Environment.getExternalStorageDirectory().getPath() + "/ScreenCapture/record/", "recording_screen.mp4");
开始截屏
if (mScreenCapture != null) {mScreenCapture.screenCapture();
}
开始录屏
if (mScreenCapture != null) {mScreenCapture.record();
}
权限相关
/*** Handle permission here which caused by MediaProjectionManager.createScreenCaptureIntent()* @param requestCode* @param resultCode* @param data*/@Overridepublic void onActivityResult(int requestCode, int resultCode, Intent data) {if (mScreenCapture != null) {mScreenCapture.onActivityResult(requestCode, resultCode, data);}}/*** Handle permission here. Like Manifest.permission.WRITE_EXTERNAL_STORAGE* @param requestCode* @param permissions* @param grantResults*/@Overridepublic void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {if (mScreenCapture != null) {mScreenCapture.onRequestPermissionsResult(requestCode, permissions, grantResults);}}
最后记得cleanup
@Overrideprotected void onDestroy() {super.onDestroy();if (mScreenCapture != null) {mScreenCapture.cleanup();mScreenCapture = null;}}
Android MediaProjection截屏与录屏(ScreenCapture Library 的使用)(二)相关推荐
- android 实现手机录屏功能,基于MediaProjection实现Android移动手机截屏和录屏功能
Android软件应用经常要求实现截屏和录屏的功能,那么如何实现Android软件截屏和录屏功能呢?本文将介绍基于MediaProjection实现Android移动手机截屏和录屏功能. MediaP ...
- Android MediaProjection截屏录屏-适配AndroidQ以上版本
工作中遇到截屏需求,首先想到的肯定是截图所在区域的控件,通过Canvas类将View绘制成一个Bitmap,之后是要显示还是保存都可以了.但是事实上还是有一些问题存在,已知有两个问题:①不能截取到状态 ...
- Android 音视频开发(六) -- Android Mediaprojection 截屏和录屏
Android 音视频开发(一) – 使用AudioRecord 录制PCM(录音):AudioTrack播放音频 Android 音视频开发(二) – Camera1 实现预览.拍照功能 Andro ...
- Android截屏和录屏Demo
最近两天研究了一下安卓截屏和录屏功能的实现,基本的思路如下: 截屏:通过View绘制缓冲获得Bitmap,然后写到文件中,完成截屏的功能: 录屏:通过MediaRecorder进行video reco ...
- Android截屏、录屏,适配AndroidQ以上
使用MediaProjectionManager,VirtualDisplay,AudioRecord,MediaCodec以及MediaMuxer等API实现屏幕录制功能.MediaProjecti ...
- android录屏弹窗,android视频截屏手机录屏实现代码
本文介绍了android视频截屏&手机录屏实现代码,分享给大家,希望对大家有帮助 问题 在android中有时候我们需要对屏幕进行截屏操作,单一的截屏操作好解决可以通过activity的顶层v ...
- android视频截屏手机录屏实现
问题 在android中有时候我们需要对屏幕进行截屏操作,单一的截屏操作好解决可以通过activity的顶层view DecorView获取一个bitmap,得到就是当前activity上面的全部视图 ...
- Android 关于禁止应用截屏和录屏
APP有时候为了保护用户的隐私安全会禁止用户录屏和截屏,录入说视频交友类的app,金融类的app等 可以在app的onCreate方法中添加这么一段代码: @Overrideprotected voi ...
- android禁止录屏功能,react-native(安卓)项目中禁止截屏与录屏
一.整个项目中禁止截屏与录屏 在android/app/src/main/java/com/your-app-name/MainActivity.java文件中的onCreate方法中添加如下代码即可 ...
- Android App保护用户隐私————禁止应用截屏或录屏
引言 相信大家在使用某些平台应用的时候,都会有限制的规定. 通常情况下,录屏.截图软件都可以在手机的运行过程中进行录屏.截图,普通的平台也不会阻止录屏.截图软件运行. 但是在某些比较敏感的平台上面,有 ...
最新文章
- (C语言)一种简易记法:生成[a,b]范围内的随机整数
- 内存屏障在硬件层面的实现原理
- Netty4具体解释三:Netty架构设计
- linux安装 java jdk
- 【C/C++】变量做数组长度
- 给中国学生的第五封信 – 你有选择的权利
- 京东方计划为苹果iPhone 13供应6.06英寸OLED面板
- 设计一个60T数据仓库及大数据分析平台,医院数字化该怎么做?
- 21SpringMvc_异步发送表单数据到Bean,并响应JSON文本返回(这篇可能是最重要的一篇了)...
- vue三种常用获取input值方法
- ILSpy反编译工具之C#反汇编
- 关于常用序号的几点说明(数字序号顺序)
- 5000的台式计算机,预算5000的台式组装机配置清单_预算5000的台式组装机配置
- Chinese-ELECTRA ‘adam_m not found in checkpoint ‘
- web IDE theia-ide安装
- 基于Springboot的社区志愿者服务管理系统
- 揭秘Microsoft Windows LDM
- 小白到高级UI设计师,如何实现完美蜕变?
- CM系统应用源码分析与rom定制
- twrp双清勾选哪两个_免费读书app,我只留了这两个。