Probleme mit MediaRecorder Klasse Einstellung Audioquelle - setAudioSource () - nicht unterstützter Parameter

StackOverflow https://stackoverflow.com/questions/3002537

  •  25-09-2019
  •  | 
  •  

Frage

Ich bin neu in Android Entwicklung und ich habe die nächste Frage / Problem.

Ich spiele mit der MediaRecorder Klasse um nur Ton vom Mikrofon aufzunehmen. Ich verfolge die Schritte in der offiziellen Seite angezeigt: http: // developer. android.com/reference/android/media/MediaRecorder.html

Also ich habe eine Methode, die initialisiert und konfigurieren Sie das MediaRecorder Objekt, um die Aufnahme zu starten. Hier haben Sie den Code:


        this.mr = new MediaRecorder();
        this.mr.setAudioSource(MediaRecorder.AudioSource.MIC);
        this.mr.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
        this.mr.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
        this.mr.setOutputFile(this.path + this.fileName);
        try {
            this.mr.prepare();
        } catch (IllegalStateException e) {
            Log.d("Syso", e.toString());
            e.printStackTrace();
        } catch (IOException e) {
            Log.d("Syso", e.toString());
            e.printStackTrace();
        }

Wenn ich diesen Code im Simulator ausführen, dank logcat, kann ich sehen, dass das Verfahren setAudioSource (MediaRecorder.AudioSource.MIC) die nächsten Fehler gibt (mit dem Tag audio_ipunt), wenn sie aufgerufen wird:


ERROR/audio_input(34): unsupported parameter: x-pvmf/media-input-node/cap-config-interface;valtype=key_specific_value
ERROR/audio_input(34): VerifyAndSetParameter failed

Und dann, wenn die Methode prepare () aufgerufen wird, ich die andere Fehlermeldung erhalten wieder:


ERROR/PVOMXEncNode(34): PVMFOMXEncNode-Audio_AMRNB::DoPrepare(): Got Component OMX.PV.amrencnb handle 

Wenn ich die Methode Start der Aufnahme des bycalling () ... Ich bekomme viele Nachrichten zu sagen:


AudioFlinger(34):RecordThread: buffer overflow

Dann ... nach dem Stopp und Release, .... kann ich sehen, dass eine Datei erstellt wurde, aber es scheint nicht, dass es gut gewesen Aufgenommene. Anway, wenn ich versuche, dies in einem realen Gerät ich ohne Probleme aufnehmen kann, aber ich kann nicht spielen, was ich aufgezeichnet nur.

I gues, dass der Schlüssel in diesem Fehler ist, dass ich schon erwähnt habe. Wie kann ich sie lösen? Jede Anregung oder Hilfe ??

War es hilfreich?

Lösung

Der Simulator hat viele Probleme mit der Audio-Aufnahme. Lassen Sie uns sagen, dass es nicht funktioniert. Am besten ist es versuchen, Ihren Code in einem realen Gerät !!!

Andere Tipps

  

Hinweis: Der Android-Emulator nicht über die Fähigkeit, das Aufnehmen von Audio,   aber die tatsächlichen Geräte sind wahrscheinlich diese Fähigkeiten zur Verfügung zu stellen.

Ref: http://developer.android.com/guide/ Themen / media / audio-capture.html

gut, sie ist ziemlich neu in dieser Android-Programmierung, aber ich werde euch geben, was ich über die bisher gelernt habe. Einige der Antworten auf hier erklärt, dass sie Probleme auf reale Geräte haben, vor allem der Galaxie S, und der Emulator / virtuelles Gerät ist auch nicht arbeiten. Nun, ich lese von Google, dass das virtuelle Gerät nicht Audioaufzeichnung unterstützt jetzt. Das kann oder kann nicht noch genau sein. Allerdings ist ein deutlich erfahreneren android Programmierer haben mir gesagt, dass es kein Grund zu glauben, dass es Ähnlichkeiten zwischen den Geräten so weit wie Hardware geht, da Android ist auf so viele Geräte heutzutage zur Verfügung. Außerdem ist jedes Android O sehr leicht gerecht zu werden modifiziert ist speziell für jedes Gerät, so dass, obwohl die Droid und das Droid X können sowohl Android Froyo laufen, die Versionen von Froyo sind etwas anders. Alles, was gesagt wird, vielleicht hat das Galaxy S eine etwas andere Call-Methode für das Mikrofon oder so etwas. Mein Testgerät passiert ein MotoDroid zu sein, so dass ich nicht sicher, dass sein kann, sorry. Aber ich hoffe, das hilft ein wenig!

EDIT: mein schlecht, funktioniert der Emulator Audioaufzeichnung unterstützen.

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