Code Monkey home page Code Monkey logo

screenrecordlibrary's Introduction

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库直接修改,多谢指教~~~

screenrecordlibrary's People

Contributors

guaju avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.