S'il vous plaît, aidez-moi si vous savez comment enregistrer la voix, et aussi enregistrer la voix de l'appelant et du correspondant pendant un appel téléphonique. Si quelqu'un le sait, donnez-moi un indice.
Réponses
Trop de publicités?Oui, c'est possible
final MediaRecorder Callrecorder = new MediaRecorder();
Callrecorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
Callrecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
Callrecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
Callrecorder.setOutputFile(filepath);
try {
Callrecorder.prepare();
} catch (IllegalStateException e) {
System.out.println("Error is happened here in Prepare Method1");
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
//throwing I/O Exception
System.out.println("Error is happened here in Prepare Method2");
// TODO Auto-generated catch block
e.printStackTrace();
}
try{
Callrecorder.start();
}catch(IllegalStateException e){
e.printStackTrace();
//Here it is thorowing illegal State exception
System.out.println("Error is happened here in Start Method");
}
}
pour arrêter, vous pouvez utiliser
Callrecoder.stop();
Autant que je sache, toutes les applications qui enregistrent des appels vocaux sur Android ont le même problème: elles ne fonctionnent que sur certains téléphones, tandis que sur d'autres, vous ne pouvez entendre qu'un seul côté de la conversation. Certaines de ces applications tentent de résoudre ce problème en enregistrant également à partir du microphone.
Si vous avez des autorisations root sur votre téléphone Android, alors je crois qu'il existe des applications qui fonctionnent mieux car elles ont accès aux flux de niveau inférieur, comme Emmanuel l'a spécifié dans sa réponse.
Je ne sais pas si c'est possible, mais dans la mesure où l'API va
recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
cette ligne est bien compilée dans mon code où enregistreur est un objet de MediaRecorder et j’ai travaillé sur un tel projet, mais plus tard, le projet a été vidé afin de ne pas savoir si cela fonctionne ou non.