Hallo, ich möchte MediaRecorder verwenden, um Stimme aufzunehmen. Ich möchte das Format speichern ist amr.was ist gut setAudioEncodingBitRate auf Platte Stimme
this.mediaRecorder = new MediaRecorder();
this.mediaRecorder.setAudioChannels(1);
this.mediaRecorder.setAudioSamplingRate(8000);
this.mediaRecorder.setAudioEncodingBitRate(16);
this.mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
this.mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
this.mediaRecorder.setOutputFile(this.file.getAbsolutePath());
this.mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
i verwendet this.mediaRecorder.setAudioEncodingBitRate (16), einige Geräte ok
mediaRecorder.setAudioEncodingBitRate (12500) sind, some
ist ok, aber ich die mediaRecorder.setAudioEncodingBitRate lösche einige Geräte ok
so meine Frage, wie die AudioEncodingBitRate standardmäßig erhalten. Welchen Parameter muss ich verwenden?
aber ich will – pengwang
auch das amr-Format speichern, dann entfernen Sie einfach den, wenn Zweig und ust den Code aus dem sonst Teil. AMR_NB = Narrowband bedeutet, dass Sie keine höhere SamplingRate als 8k verwenden können, was zu einer schlechteren Aufnahmequalität führt. Wenn Sie den AMR-Encoder verwenden, sollten Sie das THREE_GPP-Format verwenden. –
Ich denke immer noch, Ihr Hauptproblem war die setAudioEncodingBitRate-Methode. Sie müssen hier die Bitrate angeben. Bitrate = Bits/Sekunde. 12 Bit/Sekunde ist kein Wert, mit dem Sie ein Audiosignal codieren können. [hier] (http://en.wikipedia.org/wiki/Bit_rate) finden Sie gängige Bitraten für Audio. Z.B. 800 Bits/Sekunde sind minimal notwendig, um Sprache zu erkennen. –