Comment éviter de contrôle automatique de gain avec AudioRecord?

Comment puis-je faire des enregistrements audio à l'aide de android.media.AudioRecord sans smartphone-fabricant-dépendante de la fantaisie de traitement du signal comme le contrôle automatique de gain (AGC) et/ou la péréquation, de suppression de bruit, annulation d'écho, ... juste de la pure signal du microphone?

Arrière-plan

MediaRecorder.AudioSource fournit neuf constantes,

  • DEFAULT et MIC d'abord d'être là,
  • VOICE_UPLINK, VOICE_DOWNLINK, et VOICE_CALL ajoutée de l'API de niveau 4,
  • CAMCORDER et VOICE_RECOGNITION ajoutée de l'API de 7,
  • VOICE_COMMUNICATION ajouté dans l'API 11,
  • REMOTE_SUBMIX ajoutée de l'API de 19 mais n'est pas disponible pour les applications de tierce partie.

Mais aucun d'eux n'est un propre de l'emploi sur tous les smartphones. Plutôt, je dois trouver moi-même il me semble, le périphérique qui utilise les combinaisons de blocs de traitement de signaux pour lesquels MediaRecorder.AudioSource constante.

Serait bien d'avoir un dixième constante comme PURE_MIC ajoutée de l'API de niveau 20.

Mais tant que ce n'est pas disponible, que puis-je faire à la place?

OriginalL'auteur Hartmut Pfitzinger | 2013-01-17