& lt; AudioRecord & gt; "Impossible d'obtenir une entrée audio pour la source d'enregistrement 1"

J'ai eu ce problème à l'initialisation d' AudioRecord pour Android. J'ai cherché pendant un certain temps sur le web, sans succès.

Pour le téléphone, je suis sur un Samsung GalaxyS sur le SDK de la version 7. Pour le AudioRecord d'initialisation, je suis en utilisant 8000 que le taux d'échantillonnage, MONO canal de config, 16bit pour le format audio, et selon le journal, le minBufferSize est 4160. J'ai ajouté le AUDIO_RECORD la permission de le manifester.

Mon code pour l'initialisation est comme suit:

...
private static int SAMPLE_RATE = 8000;
private static int CHANNEL_CONFIG = AudioFormat.CHANNEL_CONFIGURATION_MONO;
private static int AUDIO_FORMAT = AudioFormat.ENCODING_PCM_16BIT;
//??? Both 8Bit and Default are deemed illegal.

public MicVolumeManager() {
    this.bufferSize = AudioRecord.getMinBufferSize(SAMPLE_RATE,
        CHANNEL_CONFIG, AUDIO_FORMAT);
    PhoneDebugger.debug("AUDIO-BUFFER-SIZE", 
        Integer.toString(this.bufferSize));

    this.recorder = new AudioRecord(AudioSource.MIC, SAMPLE_RATE,
        CHANNEL_CONFIG, AUDIO_FORMAT, this.bufferSize);

    this.audioBuffer = new byte[this.bufferSize];
}
...

Toutefois, l'objet (ce.enregistreur) n'a pas pu être initialisé. Ce qui suit est le journal de l'aide DDMS:

AUDIO-TAILLE DE BUFFER(3253): 4160

AudioRecord(3253): set(): taux d'échantillonnage de 8000, les canaux 16, frameCount 2080

AudioPolicyManager(2175): getInput() inputSource 1, samplingRate 8000, le format 1, les canaux 10, acoustique 0

AudioFlinger(2175): openInput() openInputStream retourné entrée 0x0, SamplingRate 8000, le Format 1, les Canaux 10, acoustique 0, état -17

AudioRecord(3253): ne Pouvait pas obtenir l'entrée audio de la source d'enregistrement 1

AudioRecord-JNI(3253): Erreur lors de la création AudioRecord exemple: initialisation de l'échec de la vérification.

AudioRecord-Java(3253): [ android.médias.AudioRecord ] le code d'Erreur
-20 lors de l'initialisation natif AudioRecord objet.

Toute aide, s'il vous plaît? Merci beaucoup!

source d'informationauteur Crastinator