Voice Call-Aufnahme im android-mit MediaRecorder
Ich habe ein problem bei der Aufnahme ein Anruf, den ich gemacht habe, eine service-und forderte eine BroadcastReceiver
um den Anrufstatus. In TelephonyManager.EXTRA_STATE_OFFHOOK
wenn der Anruf empfangen wird. Ich benutze folgenden code zur Aufzeichnung der Anruf
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
recorder.setOutputFile(audiofile.getAbsolutePath());
try {
recorder.prepare();
recorder.start();
}
catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception ex)
{
ex.printStackTrace();
}
Dieser code ist in Ordnung, und schafft die audio-Datei, aber wenn ich höre mir die audio-Datei kann ich nur hören meine ausgehenden Stimme, Anrufer, Stimme wird nicht aufgezeichnet.
Wenn ich
recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
statt
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
im obigen code, es wirft Ausnahme der recoder schlägt auf recoder.start();
So, wie kann ich die Sprachaufnahme nennen?
InformationsquelleAutor user2064024 | 2014-06-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte auch die gleichen Zweifel vor einem Jahr AudioSource.VOICE_CALL funktioniert nicht in android 4.0 aber die Arbeit in android 2.3
recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
arbeiten auf Geräte beschränkt ,wird es geben, Ausnahme nur auf das Gerät, in dem der Sprachanruf wird nicht unterstützt, so fangen die exception und starten Sie die Aufnahme über Mikrofon alle immer wieder, das halten Sie auf sicherer Seite, die in nicht unterstützten Gerät.
wenn ich Sie benutze .MIC es doesnot zeichnet eingehende Stimme, Sie zeichnet nur meine Stimme
welches Gerät Sie benutzen
audioSource = MediaRecorder.AudioSource.CAMCORDER; versuchen Sie, diese
ich bin mit dem htc one S
InformationsquelleAutor Auto-Droid ツ
Können Sie nicht aufzeichnen, die Anrufer-Stimme, solange das Volumen ist gering. Es ist programmtechnisch nicht möglich, da der AudioRecorder oder MediaRecorder nur die Aufnahme über das Mikrofon. Die einzige Sache, die Sie tun können, ist, die Lautstärke aus dem Lautsprecher, so laut wie möglich.
Änderung der AudioSoucre .MIC wird nicht helfen, es ist eine lose Thema:
https://code.google.com/p/android/issues/detail?id=4075
Dieses Problem nicht behoben, bis jetzt, und ich denke, es wird nicht in der Zukunft gelöst werden, da die Aufzeichnung von Telefonaten nicht erlaubt ist in den meisten Ländern
Ich denke, dies ist Geräte-abhängig. Ich habe versucht, vor langer Zeit solche Sache mit meinem Samsung galaxy S3 und das hat funktioniert....die audio-Datei, die Sie erstellen? Ich verwendet .wav-Datei, denn Sie hat den besten und klarsten sound.
ich war zu erstellen .amr-Datei und mit dem htc one S Handy
also, versuchen Sie, eine wav-Datei, vielleicht ist das besser...
gleichen Ergebnis .wav-Datei als gut
InformationsquelleAutor Opiatefuchs
Einer audio-Quelle an MIC-record eingehende Anrufe. Sie können die Aufnahme-Lautstärke auf die höchste Stufe und schalten Sie auf Lautsprecher zu wie folgt:
//vor der Aufnahme
AudioManager audioManager;
//Aufzeichnung starten
Es gibt aber auch andere Konstanten, die Sie verwenden können, mit setAudioSource(), Folgen Sie Einfach dem guide zu verstehen, wie jeder arbeitet
Haben Sie versucht, Voice_Call und Voice_Communication?
ja, durch die Verwendung Voice_Call und Voice_communication ich bekam recorder failed Ausnahme bei Rekorder.start()
Das, weil das Gerät, das Sie verwendet, nicht unterstützt. Ich bin mit dem Mikrofon in eine app und es funktioniert einwandfrei. Hat das Problem sogar passieren, wenn Sie erhöhen das Volumen des Systems und schalten Sie auf Lautsprecher, die, wie ich in meiner Antwort?
ja, das happns auch nach dass wie auch
InformationsquelleAutor Nana Ghartey