Почему я получаю IllegalArgumentException: неподдерживаемая конфигурация канала?
Я использую AudioRecord для сбора аудиоданных с разъема для наушников на Android, например, так:
int frequency = 44100;
int channelConfiguration = AudioFormat.CHANNEL_OUT_MONO;
int audioEncoding = AudioFormat.ENCODING_PCM_16BIT;
int bufferSize = AudioRecord.getMinBufferSize(frequency, channelConfiguration, audioEncoding);
AudioRecord audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC, frequency, channelConfiguration, audioEncoding, bufferSize);
audioRecord.startRecording();
Тем не менее, я получаю сообщение об ошибке
java.lang.IllegalArgumentException: Unsupported channel configuration.
Я не нашел ничего полезного в Интернете, поэтому мне было интересно, если у кого-то еще была эта проблема.
3 ответа
Решение
Я не знаю, имел ли это в виду CaseyB, но я изменил AudioFormat.CHANNEL_OUT_MONO на AudioFormat.CHANNEL_IN_MONO. Это заставило ошибку исчезнуть.
когда вы используете запись, AudioFormat.CHANNEL_IN_MONO. когда вы используете воспроизведение, AudioFormat.CHANNEL_OUT_MONO.
ИзменятьAudioFormat.CHANNEL_OUT_MONO
кAudioFormat.CHANNEL_IN_FRONT