39 votes

Android Enregistrement des appels entrants et sortants

J'essaie de comprendre s'il existe un moyen d'enregistrer les appels entrants et sortants sur les téléphones Android 2.2 et plus ?

Un client souhaite enregistrer les appels des agents aux clients afin de pouvoir les utiliser ultérieurement pour remplir certains documents. Au lieu de faire attendre le client pendant l'appel, il veut le faire plus tard.

Est-ce possible et quelles API dois-je utiliser ?

34voto

Shane Powell Points 6235

Tout d'abord, vous devez être prudent lorsque vous enregistrez des appels, car il existe des exigences légales en fonction du pays.

Voici un article de blog sur la façon d'enregistrer de l'audio à l'aide du Enregistreur de médias .

Je n'ai pas essayé d'enregistrer les appels téléphoniques, mais il existe une option dans la rubrique MediaRecorder AudioSource pour :

  • VOICE_CALL - Source audio de l'appel vocal en liaison montante et descendante
  • VOICE_DOWNLINK - Source audio de la liaison descendante (Rx) de l'appel vocal
  • VOICE_UPLINK - Source audio de la liaison montante d'appel vocal (Tx)

Tant que les options de la source audio fonctionnent, vous devriez être en mesure de le faire.

3voto

Bilal Shahid Points 395

J'utilise un micro pour enregistrer les appels afin d'améliorer l'assistance et la compatibilité.

MediaRecorder recorder = new MediaRecorder();
recorder.reset();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
recorder.setOutputFile(your_desired_folder_path);
 try {
    recorder.prepare();
} catch (java.io.IOException e) {
    recorder = null;
    return;
}
recorder.start();

0voto

Hammad khan Points 1

J'utilise le micro pour enregistrer l'audio du téléphone et j'utilise également le gestionnaire de téléphonie pour trouver l'état de l'appelant.

private MediaRecorder recorder;

  recorder = new MediaRecorder();
        try {
            recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION);
            recorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
            recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
            recorder.setAudioSamplingRate(44100);
            recorder.setOutputFile(your_desired_files_absoulte_path);
} catch (Exception e) {
e.printstacktrace ;
}

Après cela, vous pouvez facilement commencer à enregistrer où vous le souhaitez

recorder.prepare();
recorder.start();

et après avoir terminé l'enregistrement, vous pouvez facilement arrêter l'enregistrement

recorder.stop();
recorder.reset();
recorder.release();

-17voto

jabir jazz Points 177

Pour enregistrer, il suffit d'appuyer sur le bouton menu lors d'un appel sur un téléphone Android. La conversation sera stockée au format amr et dans le répertoire racine de la carte sd max 20min de conversation.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X