Problemas con fuente de audio ambiente de clase MediaRecorder - setAudioSource () - parámetro no admitido

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

  •  25-09-2019
  •  | 
  •  

Pregunta

Soy nuevo en el desarrollo de Android y tengo la siguiente pregunta / problema.

Estoy jugando un poco con la clase MediaRecorder a grabar sólo audio desde el micrófono. Estoy siguiendo los pasos indicados en el sitio oficial: http: // desarrollador. android.com/reference/android/media/MediaRecorder.html

Así que tengo un método que inicializa y configurar el objeto MediaRecorder con el fin de iniciar la grabación. Aquí tienes el código:


        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();
        }

Cuando ejecuta este código en el simulador, gracias a Logcat, puedo ver que el método setAudioSource (MediaRecorder.AudioSource.MIC) da el siguiente error (con la etiqueta audio_ipunt) cuando se le llama:


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

Y luego, cuando el método prepare () se llama, me sale el error otra vez:


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

Si comienzo a grabar bycalling al método start () ... recibo muchos mensajes diciendo:


AudioFlinger(34):RecordThread: buffer overflow

A continuación, después de la parada ... y liberación, .... me puede ver que un archivo ha sido creado, pero no parece que así ha sido grabado para. Anway, si intento esto en un dispositivo real que puedo grabar sin ningún problema, pero no puedo tocar lo que acaba de grabar.

Me Gués que la clave está en estos errores que he mencionado antes. ¿Cómo puedo solucionarlo? Cualquier sugerencia o ayuda ??

¿Fue útil?

Solución

El simulador tiene un montón de problemas con la grabación de audio. Vamos a decir que no funciona. Su mejor apuesta es tratar el código en un dispositivo real !!!

Otros consejos

  

Nota: El emulador de Android no tiene la capacidad de captura de audio,   pero los dispositivos actuales son propensos a ofrecer estas capacidades.

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

Bueno, soy bastante nuevo en esta programación androide, pero voy a dar a ustedes lo que he aprendido hasta ahora acerca de eso. Algunas de las respuestas sobre el estado de aquí que están teniendo problemas en dispositivos reales, sobre todo el Galaxy S, y el dispositivo emulador / virtual no está funcionando bien. Bueno, he leído de Google que el dispositivo virtual no es compatible con la grabación de audio en este momento. Que pueden o no estar siendo exacta. Sin embargo, un programador de Android significativamente más experiencia me dijo que no hay razón para creer que existen similitudes entre los dispositivos de hardware En lo que va, ya que Android está disponible en tantos dispositivos de hoy en día. Además, cada OS androide se modifica muy ligeramente para atender específicamente a cada dispositivo, por lo que a pesar de que el Droid y el Droid X tanto pueden estar ejecutando Android Froyo, las versiones de Froyo son ligeramente diferentes. Todo lo que se dice, tal vez el Galaxy S tiene una llamada al método ligeramente diferente para el micrófono o algo así. Mi dispositivo de prueba pasa a ser un MotoDroid, por lo que no puedo estar seguro de eso, lo siento. Pero espero que esto ayude un poco!

EDIT: mi mal, el emulador es compatible con la grabación de audio.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top