android录屏功能的实现
近期项目需要录屏功能,功能已实现,特此记录一下。
//<----------------------------------录屏开始--------------------------------------->private MediaRecorder mediaRecorder;private VirtualDisplay virtualDisplay;int scDpi ;int scWidth;int scheight ;private void getRecordPermission() {if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {mediaProjectionManager = (MediaProjectionManager) getSystemService(MEDIA_PROJECTION_SERVICE);Intent intent = mediaProjectionManager.createScreenCaptureIntent();startActivityForResult(intent, REQUESTRECORD);}}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {if (requestCode==REQUESTRECORD){MediaProjection mediaProjection = mediaProjectionManager.getMediaProjection(resultCode, data);//获取mediaRecordermediaRecorder = getMediaRecorder();virtualDisplay = mediaProjection.createVirtualDisplay("我的工作录屏",scWidth, scheight, scDpi,DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR,mediaRecorder.getSurface(),null, null);}}//开始录制try {mediaRecorder.start();} catch (IllegalStateException e) {e.printStackTrace();}}private void getScreenSize() {DisplayMetrics dm = getResources().getDisplayMetrics();scDpi = dm.densityDpi;scWidth = dm.widthPixels;scheight = dm.heightPixels;}private MediaRecorder getMediaRecorder() {MediaRecorder mediaRecorder = new MediaRecorder();mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); //音频载体mediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE); //视频载体mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); //输出格式mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT); //音频格式mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); //视频格式mediaRecorder.setVideoSize(scWidth, scheight); //sizemediaRecorder.setVideoFrameRate(30); //帧率mediaRecorder.setVideoEncodingBitRate(3 * 1024 * 1024); //比特率mediaRecorder.setOrientationHint(0); //旋转角度//创建文件夹File dir = Ut.getRMapsProjectPrivateTasksOutputDir(RecognizeActivity.this);if (!dir.exists()) {dir.mkdirs();}//创建文件名String fileName = "录像作业"+new SimpleDateFormat("yyyyMMddHHmm").format(new Date()) + ".mp4";//设置文件位置videoPath = dir + "/" + fileName;mediaRecorder.setOutputFile(videoPath);try {mediaRecorder.prepare();} catch (IllegalStateException | IOException e) {e.printStackTrace();}return mediaRecorder;}//<----------------------------------录屏结束--------------------------------------->
android录屏功能的实现相关推荐
- Android 录屏功能的实现
最近开发中,要实现录屏功能,查阅相关资料,发现调用 MediaProjectionManager的api 实现录屏功能即可: import android.Manifest; import andro ...
- android录屏功能
思路 android实现录屏功能有两种方案,一种是直接使用android自带的MediaProjectionManager实现录屏功能,第二种是是只录语音,用户的操作通过某种方式进行记录保存,最后通过 ...
- android 手机录屏功能,Android录屏功能的实现
最近做一个Android开发的项目用到了录屏的功能,开始查阅了一些资料和博客,基本上都是在讨论ROOT的.直到后来在github上看到一个比较新的代码,才恍然发现,Android 5.0时候开放了一个 ...
- 如何调用android录屏功能吗,Android录屏功能的实现
最近做一个Android开发的项目用到了录屏的功能,开始查阅了一些资料和博客,基本上都是在讨论ROOT的.直到后来在github上看到一个比较新的代码,才恍然发现,Android 5.0时候开放了一个 ...
- webRTC(二十一):android 录屏功能
效果 录屏和截屏的思路基本一致,请看详细代码 布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/an ...
- 【Android】录屏功能实现——MediaProjection
目录 Android录屏功能实现-MediaProjection 概述 工具类 作用 过程 权限申请 连接服务 开始录制 停止录制 总结 不积跬步,无以至千里:不积小流,无以成江海.要沉下心来,诗和远 ...
- android 实现手机录屏功能,基于MediaProjection实现Android移动手机截屏和录屏功能
Android软件应用经常要求实现截屏和录屏的功能,那么如何实现Android软件截屏和录屏功能呢?本文将介绍基于MediaProjection实现Android移动手机截屏和录屏功能. MediaP ...
- Android 和dialog 防录屏功能失效,游戏防录屏功能失效.
1. 正常禁止录屏在Activity的onCreate()方法中调用如下代码,但是在小米,OPPO等设备上只能禁止截屏,无法禁止录屏. @Overrideprotected void onCreate ...
- android 手机录屏功能,手机自带录屏功能在哪里找?轻松搞定屏幕录制
手机的录屏功能如何使用?智能手机发展到现在,除了无线通话功能.讯息发送功能之外,又逐渐发展出拍照功能.上网功能.各类应用交互功能.尤其近几年在手机上看视频成为打发碎片化时间的重要消遣,在手机上录屏的需 ...
最新文章
- linux命令在哪里使用,在Linux不同场景中Linux命令的使用方法
- UI组件之ImageView及其子类(二)ImageButton ,ZoomButton
- vscode 代码莫名爆红(未定义标识符 “nullptr“)解决办法(VSCode 如何快速打开c_c++_properties.json文件)
- 传输层协议(6):TCP 连接(下-3)
- 【python】ssh密码字典攻击
- vba中find用法
- java学习第123天,p750-761(05/23)干得漂亮
- QNX系统获取PPS属性值
- 计算机动画设计论文,计算机动画设计论文.docx
- 【jzoj 5336】Timi / 提米树(DP)
- WORD中设置“选择性粘贴“—“无格式文本”的快捷键
- PyCharm 的调试功能
- c语言中指数函数fabs,高一指数函数公式,高一指数函数
- 熊猫人表情包python 代码,Python熊猫替换特殊字符
- 2021年新媒体运营不可缺少的24大类工具!
- 华为鸿蒙系统会在哪些手机上更新,那些华为手机可以升级鸿蒙系统!
- 好心情:长期服用精神药物,需监测哪些指标?
- C#,数值计算,求解微分方程的吉尔(Gear)四阶方法与源代码
- 一键式打造DAO,M-DAO或成Web3新宠儿
- 什么是BFC?BFC的原理是什么?如何创建BFC?
热门文章
- 单片机编程小错记录1:漏写串口中断服务函数
- 我的世界java8崩溃_《我的世界》崩溃 游戏崩溃等常见问题大解析
- CAD文件怎样转换成PDF?CAD转换成文件的各种小窍门
- jsp中url找不到Servlet的可能原因
- uniapp 设置为横屏竖屏
- Python预测双色球福利彩票中奖号码(随便玩玩,不要当真)
- HTML5画独角兽,教你快速绘画独角兽,漂亮的独角兽简笔画步骤
- 2019计算机四级真题及答案,【2019年6月大学英语四级真题及答案完整版(卷二)】- 环球网校...
- [附源码]Java计算机毕业设计SSMjava视频点播系统
- APT(Advanced Persistent Threat高级持续性威胁)——网络安全