aykuttasil
CallRecorder
Kotlin

Android Phone Call Recorder

Last updated Jun 17, 2026
788
Stars
241
Forks
39
Issues
0
Stars/day
Attention Score
60
Language breakdown
No language data available.
โ–ธ Files click to expand
README

Android Call Recorder

Android Arsenal

Android incoming and outgoing call recorder at any time.

How to Use

callRecord = new CallRecord.Builder(this)
       .setLogEnable(true)
       .setRecordFileName("RecordFileName")
       .setRecordDirName("RecordDirName")
       .setRecordDirPath(Environment.getExternalStorageDirectory().getPath()) // optional & default value
       .setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB) // optional & default value
       .setOutputFormat(MediaRecorder.OutputFormat.AMR_NB) // optional & default value
       .setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION) // optional & default value
       .setShowSeed(true) // optional & default value ->Ex: RecordFileNameincoming.amr || RecordFileNameoutgoing.amr
       .build();

callRecord.startCallReceiver();

OR

callRecord = CallRecord.init(this);

Stop CallRecord

callRecord.stopCallReceiver();

If you wish run in Service;

callRecord = new CallRecord.Builder(this)
   .setRecordFileName("RecordFileName")
   .setRecordDirName("RecordDirName")
   .setRecordDirPath(Environment.getExternalStorageDirectory().getPath()) // optional & default value
   .setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB) // optional & default value
   .setOutputFormat(MediaRecorder.OutputFormat.AMR_NB) // optional & default value
   .setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION) // optional & default value
   .setShowSeed(true) // optional & default value ->Ex: RecordFileNameincoming.amr || RecordFileNameoutgoing.amr
   .buildService();

callRecord.startCallRecordService();

Optimize

If you wish stop save CallRecord file;

callRecord.disableSaveFile();

and

callRecord.enableSaveFile();

If you wish change save file name after initialize CallRecorder,

callRecord.changeRecordFileName("NewFileName");
or
callRecord.changeRecordDirName("NewDirName");
or
callRecord.changeRecordDirPath("NewDirPath");

Custom CallRecordReceiver

callRecord.changeReceiver(new MyCallRecordReceiver(callRecord));

Installation

Gradle

Add it as a dependency in your app's build.gradle file

allprojects {
  repositories {
    maven { url 'https://jitpack.io' }	
  }
}
compile 'com.github.aykuttasil:CallRecorder:$lastVersion'

Sample

You can see sample project in app folder.

Thank You

ยฉ 2026 GitRepoTrend ยท aykuttasil/CallRecorder ยท Updated daily from GitHub