近期项目需要录屏功能,功能已实现,特此记录一下。

 //<----------------------------------录屏开始--------------------------------------->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录屏功能的实现相关推荐

  1. Android 录屏功能的实现

    最近开发中,要实现录屏功能,查阅相关资料,发现调用 MediaProjectionManager的api 实现录屏功能即可: import android.Manifest; import andro ...

  2. android录屏功能

    思路 android实现录屏功能有两种方案,一种是直接使用android自带的MediaProjectionManager实现录屏功能,第二种是是只录语音,用户的操作通过某种方式进行记录保存,最后通过 ...

  3. android 手机录屏功能,Android录屏功能的实现

    最近做一个Android开发的项目用到了录屏的功能,开始查阅了一些资料和博客,基本上都是在讨论ROOT的.直到后来在github上看到一个比较新的代码,才恍然发现,Android 5.0时候开放了一个 ...

  4. 如何调用android录屏功能吗,Android录屏功能的实现

    最近做一个Android开发的项目用到了录屏的功能,开始查阅了一些资料和博客,基本上都是在讨论ROOT的.直到后来在github上看到一个比较新的代码,才恍然发现,Android 5.0时候开放了一个 ...

  5. webRTC(二十一):android 录屏功能

    效果 录屏和截屏的思路基本一致,请看详细代码 布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/an ...

  6. 【Android】录屏功能实现——MediaProjection

    目录 Android录屏功能实现-MediaProjection 概述 工具类 作用 过程 权限申请 连接服务 开始录制 停止录制 总结 不积跬步,无以至千里:不积小流,无以成江海.要沉下心来,诗和远 ...

  7. android 实现手机录屏功能,基于MediaProjection实现Android移动手机截屏和录屏功能

    Android软件应用经常要求实现截屏和录屏的功能,那么如何实现Android软件截屏和录屏功能呢?本文将介绍基于MediaProjection实现Android移动手机截屏和录屏功能. MediaP ...

  8. Android 和dialog 防录屏功能失效,游戏防录屏功能失效.

    1. 正常禁止录屏在Activity的onCreate()方法中调用如下代码,但是在小米,OPPO等设备上只能禁止截屏,无法禁止录屏. @Overrideprotected void onCreate ...

  9. android 手机录屏功能,手机自带录屏功能在哪里找?轻松搞定屏幕录制

    手机的录屏功能如何使用?智能手机发展到现在,除了无线通话功能.讯息发送功能之外,又逐渐发展出拍照功能.上网功能.各类应用交互功能.尤其近几年在手机上看视频成为打发碎片化时间的重要消遣,在手机上录屏的需 ...

最新文章

  1. linux命令在哪里使用,在Linux不同场景中Linux命令的使用方法
  2. UI组件之ImageView及其子类(二)ImageButton ,ZoomButton
  3. vscode 代码莫名爆红(未定义标识符 “nullptr“)解决办法(VSCode 如何快速打开c_c++_properties.json文件)
  4. 传输层协议(6):TCP 连接(下-3)
  5. 【python】ssh密码字典攻击
  6. vba中find用法
  7. java学习第123天,p750-761(05/23)干得漂亮
  8. QNX系统获取PPS属性值
  9. 计算机动画设计论文,计算机动画设计论文.docx
  10. 【jzoj 5336】Timi / 提米树(DP)
  11. WORD中设置“选择性粘贴“—“无格式文本”的快捷键
  12. PyCharm 的调试功能
  13. c语言中指数函数fabs,高一指数函数公式,高一指数函数
  14. 熊猫人表情包python 代码,Python熊猫替换特殊字符
  15. 2021年新媒体运营不可缺少的24大类工具!
  16. 华为鸿蒙系统会在哪些手机上更新,那些华为手机可以升级鸿蒙系统!
  17. 好心情:长期服用精神药物,需监测哪些指标?
  18. C#,数值计算,求解微分方程的吉尔(Gear)四阶方法与源代码
  19. 一键式打造DAO,M-DAO或成Web3新宠儿
  20. 什么是BFC?BFC的原理是什么?如何创建BFC?

热门文章

  1. 单片机编程小错记录1:漏写串口中断服务函数
  2. 我的世界java8崩溃_《我的世界》崩溃 游戏崩溃等常见问题大解析
  3. CAD文件怎样转换成PDF?CAD转换成文件的各种小窍门
  4. jsp中url找不到Servlet的可能原因
  5. uniapp 设置为横屏竖屏
  6. Python预测双色球福利彩票中奖号码(随便玩玩,不要当真)
  7. HTML5画独角兽,教你快速绘画独角兽,漂亮的独角兽简笔画步骤
  8. 2019计算机四级真题及答案,【2019年6月大学英语四级真题及答案完整版(卷二)】- 环球网校...
  9. [附源码]Java计算机毕业设计SSMjava视频点播系统
  10. APT(Advanced Persistent Threat高级持续性威胁)——网络安全