2012-10-02 19 views
5

Cuando uso androides AudioRecord para grabar desde el micrófono, me sale este molesto artefactoAndroid AudioRecord artefacto

enter image description here

¿Hay una manera de evitar o eliminar esto? ¿Qué es? ¿O lo entiendo porque hice algo mal en la configuración (pero todo lo demás funciona bien).

Aquí está mi configuración AudioRecord:

sampleRateInHz = 44100; 
    channelConfigRec = AudioFormat.CHANNEL_IN_MONO; 
    audioFormat = AudioFormat.ENCODING_PCM_16BIT; 
    bufferSizeInBytesRec = AudioRecord.getMinBufferSize(sampleRateInHz, channelConfigRec, audioFormat); 
    audioSource = AudioSource.MIC; 

Estoy bastante seguro de que mi código es correcto, porque puedo grabar todo bien, pero no es esto, haga clic en el comienzo.

+0

¿Puedes publicar tu código –

+0

tenemos que ver tu código ??? pero puede leer esto tal vez lo ayude [anterior. respuesta] [1] [1]: http://stackoverflow.com/questions/4707994/android-audiorecord-questions – Omarj

+0

Esta cuestión pertenece el SO ya que es una pregunta desarrollador. Las preguntas de programación están fuera de tema en Android.SE: http://android.stackexchange.com/faq#what-about-other-android-related-questions –

Respuesta

6

Intente configurar su audioSource a AudioSource.VOICE_RECOGNITION. En algunos dispositivos, particularmente dispositivos HTC, he descubierto que hay menos filtrado con esa fuente. Y con ICS y luego esa es la forma oficial en que se supone que deben ser las cosas. En el documento de compatibilidad de dispositivos con Android 4.0 esto se formaliza:

Cuando una aplicación ha comenzado a grabar una secuencia de audio usando android.media.MediaRecorder.AudioSource.VOICE_RECOGNITION fuente de audio:

  • El procesamiento de reducción de ruido, si está presente, DEBE estar desactivado.
  • El control de ganancia automático, si está presente, DEBE estar desactivado.
+0

Para AudioRecord hay no hay una fuente de audio VOICE_RECOGNITION, pero ahora tengo una idea de qué buscar. – Puckl

+0

VOICE_RECOGNITION +100, una opción me ahorra una semana. – Imskull

2

Creo que el artefacto que se muestra es el efecto secundario de un filtro digital que se está utilizando para procesar el audio grabado. Cada filtro digital tiene un cierto retraso. Por ejemplo, si el filtro tiene N coeficientes, su retraso es N/2. Esencialmente, eso significa que el filtro comenzará a comportarse de manera normal después de que las primeras N/2 muestras de señal de audio hayan pasado a través de él. Esta debería ser la razón del artefacto que está teniendo. Espero que esto ayude.

Cuestiones relacionadas