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;
  @Override
  public void onCreate() {
      super.onCreate();
      app=this;
      //init
      instance = 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() {
        @Override
        public void onChangeSuccess() {
            //开始录制,处理开始录制后的事件
            dosomething
        }

        @Override
        public void onChangeFailed() {
            //如果录制失败,则不作任何变化
             dosomething
        }
    });
}

5.准备工作就绪,直接操作开始录制按钮,和停止录制按钮即可

 srHelper.startRecord(MainActivity.this);

 srHelper.stopRecord(new ScreenRecorderHelper.OnRecordStatusChangeListener() {
                                        @Override
                                        public void onChangeSuccess() {
                                            //当停止成功,做界面变化
                                            //Toast.makeText(MainActivity.this, "录屏成功"+srHelper.getRecordFilePath(), Toast.LENGTH_SHORT).show();

                                        }

                                        @Override
                                        public void onChangeFailed() {
                                            //不作处理

                                        }
});

ok,走完上边五步就能够实现屏幕录制了,当然如果想改下代码的话,可以下载module库直接修改

原文地址:https://www.cnblogs.com/zhujiabin/p/9674543.html

时间: 2024-10-17 17:38:28

android 实现屏幕录制功能的相关文章

分享 Android 手机屏幕录制并制作成 GIF 演示图片

======================================================== 作者:qiujuer 博客:blog.csdn.net/qiujuer 网站:www.qiujuer.net 开源库:Genius-Android 转载请注明出处:http://blog.csdn.net/qiujuer/article/details/42506741 --学之开源,用于开源:初学者的心态,与君共勉! ================================

屏幕录制

[录教程必备]推荐几款屏幕录制工具(可录制GIF) 我们经常会遇到一些场景,需要你向别人展示一些操作或是效果--例如告诉别人某某软件的配置步骤啊.刚设计出来网站的动画效果怎么样啊.某某电影里面的一个镜头多么经典啊.打得大快人心的NBA绝杀瞬间是怎么回事啊,等等.... 这些场合,如果单纯截成图片有时难以说清楚,但录成视频又不方便在社交软件上传播,这时就需要一个能够生成动态图的软件了,本文就将介绍几款轻便实用的动态图截取工具 阅读导览 1.FScapture 2.LICEcap 3.ScreenT

【录教程必备】推荐几款屏幕录制工具(可录制GIF)

我们经常会遇到一些场景,需要你向别人展示一些操作或是效果——例如告诉别人某某软件的配置步骤啊.刚设计出来网站的动画效果怎么样啊.某某电影里面的一个镜头多么经典啊.打得大快人心的NBA绝杀瞬间是怎么回事啊,等等.... 这些场合,如果单纯截成图片有时难以说清楚,但录成视频又不方便在社交软件上传播,这时就需要一个能够生成动态图的软件了,本文就将介绍几款轻便实用的动态图截取工具 阅读导览 1.FScapture 2.LICEcap 3.ScreenToGif 总结 相关链接及文件下载 1.FScapt

推荐几款屏幕录制工具(可录制GIF)

我们经常会遇到一些场景,需要你向别人展示一些操作或是效果--例如告诉别人某某软件的配置步骤啊.刚设计出来网站的动画效果怎么样啊.某某电影里面的一个镜头多么经典啊.打得大快人心的NBA绝杀瞬间是怎么回事啊,等等.... 这些场合,如果单纯截成图片有时难以说清楚,但录成视频又不方便在社交软件上传播,这时就需要一个能够生成动态图的软件了,本文就将介绍几款轻便实用的动态图截取工具 阅读导览 1.FScapture 2.LICEcap 3.ScreenToGif 总结 相关链接及文件下载 1.FScapt

Mac 屏幕录制Gif 制作 By-胡罗

一.视频录制 1)使用Mac系统自带的QuickTime进行屏幕录像 手动打开(如下图) 详细 Mac 基础教程:如何使用 Mac 系统原生的屏幕录制功能 相关快捷键 option+command+n           打开录像功能ctrl+option+command+n    录音功能ctrl+command+n               录制屏幕功能 二.视频转Gif图片 GIFBrewery使用介绍 软件下载 http://www.maczapp.com/gif-brewery GI

最简单的基于FFmpeg的AVDevice例子(屏幕录制)

??FFmpeg中有一个和多媒体设备交互的类库:Libavdevice.使用这个库可以读取电脑的多媒体设备的数据,或者输出数据到指定的多媒体设备上. 计划写2个有关FFmpeg的libavdevice类库的例子.上篇文章记录了一个基于FFmpeg的Libavdevice类库读取摄像头数据的例子.本篇文章记录一个基于FFmpeg的Libavdevice类库录制屏幕的例子.本文程序录制当前桌面内容并且解码显示出来.有关解码显示方面的代码本文不再详述,可以参考文章:<100行代码实现最简单的基于FFM

手机怎么录游戏视频 手机屏幕录制的方法

如今在游戏市场中,根据2017年调研报告,手游市场的用户规模达到了7.76亿.手游市场份额不断的增长,但是手机怎么录游戏视频呢?这里笔者以刺激战场为例,为大家分享手机屏幕录制的方法.使用工具:1.首先在手机的设置中看是否自带录屏功能,如果有屏幕录制功能,可以直接通过手机自带的录屏功能进行录制,如果没有可以借助其他工具进行录制:2.首先在手机上使用第三方工具,之后在手机设置里找到权限管理,允许该工具显示悬浮窗.如果你的手机默认是允许打开悬浮窗的话,这一步可以省略的,如下图所示我已经打开了哦!3.之

oppor11s怎么屏幕录制

如今是自媒体短视频的时代,游戏视频更是比比皆是,玩游戏的时候不免会碰到比较有意思的事情,所以可以录制下来分享给大家,但是oppor11s怎么屏幕录制呢?使用工具:手机&游戏迅捷录屏大师操作方法:1.今天我们主要讲的是安卓手机录制视频的方法,所以安卓用户的朋友可以进来领取福利了!我们在刷抖音的时候,可以看到游戏视频一般都会有很多的赞,也会有很多的粉丝,如果你是一位游戏高手,那还犹豫什么呢!2.首先打开我们的手机,如果本身手机没有自带屏幕录制功能,那就需要使用第三方工具,帮助我们完成视频录制.3.接

Android 5.0+ 屏幕录制实现

Android 从 4.0 开始就提供了手机录屏方法,但是需要 root 权限,比较麻烦不容易实现.但是从 5.0 开始,系统提供给了 app 录制屏幕的一系列方法,不需要 root 权限,只需要用户授权即可录屏,相对来说较为简单.本文是在参考了网络上其他录屏资料后完成的,感谢.以下将介绍开发录屏功能的一系列步骤以及实现过程中所遇到的一些需要注意的事项. 实现步骤 在清单文件中声明需要的权限 因为录制用到麦克风,所以需要加上 AUDIO 权限, <uses-permission android: