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
Vous devez vous connecter pour publier un commentaire.
Vous pouvez vérifier si 44100 est pris en charge par votre appareil.
Android ne fournit pas une méthode explicite pour le vérifier, mais il y a un travail autour avec AudioRecord de la classe de getMinBufferSize fonction.
Étonnamment, il n'a pas, même si c'est une fin de 2014 téléphone. Merci.
Je suggérer le tableau de commande à:
{44100, 22050, 11025, 16000, 8000}
, de sorte que vous essayez toujours supérieur taux d'enregistrement de la première. De cette façon, vous pouvez garantir la meilleure qualité d'enregistrement audio si le périphérique prend en charge plusieurs formats.Ils sont tous pris en charge maintenant 😛
OriginalL'auteur LaurentY
N'oubliez pas de demander pour AUDIO_RECORD permission trop
OriginalL'auteur Cédric Dufouil