Frage

Gibt es eine Möglichkeit Audio in hoher Qualität aufnehmen?

Und wie kann ich Informationen zu lesen, dass der Benutzer etwas sagt? In Audio-Recording-Anwendung können Sie eine solche Anzeige sehen (ich weiß nicht, den richtigen Namen für sie).

War es hilfreich?

Lösung

Für die Aufzeichnung und Überwachung: Sie können die Sound Recorder Aktivität verwenden. Hier ist ein Code-Snippet:

Intent recordIntent = new Intent(
                MediaStore.Audio.Media.RECORD_SOUND_ACTION);
            startActivityForResult(recordIntent, REQUEST_CODE_RECORD);

Für ein perfektes Arbeits Beispiel dafür, wie Audio-Aufnahme, die einen Eingangsmonitor enthält, laden Sie das Open-Source-Projekt Ringdroid: https://github.com/google/ringdroid

Schauen Sie sich die Screenshots und Sie werden den Monitor sehen.

Für die Audio höhere Qualität zu machen, würden Sie ein besseres Mikrofon benötigen. Das Mikrofon gebaut kann nur so viel erfassen (was nicht so gut ist). Schauen Sie noch einmal, am Ringdroid Projekt, aufzulesen ein paar Informationen von dort. An diesem Punkt könnte man einige Normalisierung und Verstärkung Routinen implementieren, um den Klang zu verbessern.

Andere Tipps

Im Moment ein großer Grund für schlechte Tonqualität Aufnahme auf Android ist der Codec von der MediaRecorder Klasse verwendet (der AMR-NB-Codec). Sie können jedoch den Zugriff auf unkomprimiertes Audio über die AudioRecord Klasse erhalten, und notieren Sie, dass in eine Datei direkt.

Die Wiederholungs-Assistent App dies tut, um unkomprimiertes Audio in eine WAV-Datei zu speichern - werfen Sie einen Blick auf die RehearsalAudioRecord Klasse Quellcode.

Die RehearsalAudioRecord Klasse stellt auch ein getMaxAmplitude Verfahren, mit dem Sie die maximale Lautstärke seit dem letzten Mal erfassen können Sie die Methode genannt (MediaRecorder bietet auch diese Methode).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top