Android: startRecording() appelée sur un non initialisée AudioRecord lors de la FRÉQUENCE d'échantillonnage définie à 44100

J'obtiens une erreur, lorsque j'ai mis la fréquence d'échantillonnage de 44100 pour la AudioRecord objet. Quand il est 22050, il fonctionne très bien.

02-16 10:45:45.099 24021-24021/com.vlad.jackcomms E/AudioRecord﹕ frameCount 1024 < minFrameCount 1792

02-16 10:45:45.099 24021-24021/com.vlad.jackcomms E/AudioRecord-JNI﹕ Erreur lors de la création AudioRecord exemple: initialisation de l'échec de la vérification.

02-16 10:45:45.099 24021-24021/com.vlad.jackcomms E/android.médias.AudioRecord﹕ code d'Erreur -20 lors de l'initialisation natif AudioRecord objet.

02-16 10:45:45.109 24021-24021/com.vlad.jackcomms E/AndroidRuntime﹕ FATALE

EXCEPTION: les principales
Processus: com.vlad.jackcomms, PID: 24021
java.lang.IllegalStateException: startRecording() appelée sur un non initialisée AudioRecord.

Voici le code correspondant:

private static final int RECORDER_SAMPLERATE = 22050*2;
private static final int RECORDER_CHANNELS = AudioFormat.CHANNEL_IN_MONO;
private static final int RECORDER_AUDIO_ENCODING = AudioFormat.ENCODING_PCM_16BIT;

    recorder = new AudioRecord(MediaRecorder.AudioSource.MIC,
            RECORDER_SAMPLERATE, RECORDER_CHANNELS,
            RECORDER_AUDIO_ENCODING, BufferElements2Rec * BytesPerElement);

    recorder.startRecording();

OriginalL'auteur user3333414 | 2015-02-16