Code Monkey home page Code Monkey logo

android-sound-cutter-library's Introduction

Android-Sound-Cutter-Library

Sound Cutter Library for Android based on Google's Ringdroid App. Tested with Android 11

Screenshot 1

Usage

Step 1. Add the JitPack repository to your build file

allprojects {
		repositories {
			...
			maven { url 'https://jitpack.io' }
		}
	}

Step 2. Add the dependency

dependencies {
	  implementation 'com.github.MarvinStelter:Android-Sound-Cutter-Library:v1.0.0'
	  implementation 'com.github.HBiSoft:PickiT:2.0.5'
}

Step 3. Add the View to your Layout

<com.citroncode.soundcutter.CutterView
        android:layout_width="wrap_content"
        android:id="@+id/cutterview"
        android:layout_height="wrap_content"/>

Functions

  1. setSound

Just provide the uri from the file picker but make sure that the app has file permissions.

CutterView cutterView = binding.cutterview;
cutterView.setSound(uri,this,MainActivity.this);
  1. saveSound()

The file will be saved to the Music folder as an .mp3 file

cutterView.saveSound("File name goes here");

Here an example to check if the sound has been saved:

 Boolean stop = false;

 private void save(String name){
        cutterView.saveSound(name);
	ProgressDialog pg_dialog = new ProgressDialog(this);
        pg_dialog.setMessage(getResources().getString(R.string.please_wait_this_may_take_a_moment));
        pg_dialog.setCancelable(false);
        pg_dialog.show();

            Handler handler = new Handler();
            Runnable r = new Runnable() {
                public void run() {
                    if(cutterView.wasSaved() && savedAudio.length() != 0){
                    	//Do whatever you want, the sound has been saved!
                        pg_dialog.dismiss();
                        stop = true;
                        finish();
                    }
                    if (!stop) {
                        handler.postDelayed(this, 1000);
                    }

                }
            };

            handler.postDelayed(r, 1000);

    }
  1. saveInternal()

returns the file path of the cutted sound in the app folder (located at /data/data/package-name)

TODO

  • Callback when file was saved
  • Add FFMPEG to cut and save files
  • Design changes with xml attributes

android-sound-cutter-library's People

Contributors

donmarv00 avatar

Stargazers

Anshuman M. 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.