Я экспериментирую с записью и воспроизведением звука на Android. Есть ли способ перечислить доступные параметры звука на моем устройстве?
Прямо сейчас, когда я передаю комбинацию параметров, которые не нравятся аппаратному обеспечению (или эмулятору), я просто получаю сообщение об ошибке. Поэтому мне приходится «угадывать»:
int bufferSize;
int sampleRate;
// does the audio hardware do 44 kHz?
sampleRate = 44100;
bufferSize = AudioRecord.getMinBufferSize(sampleRate,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT);
if (bufferSize != AudioTrack.ERROR_BAD_VALUE) {
// Nope, how about 22 kHz?
sampleRate = 22050;
}
bufferSize = AudioRecord.getMinBufferSize(sampleRate,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT);
if (bufferSize != AudioTrack.ERROR_BAD_VALUE) {
...
Конечно, есть лучший способ!
Эта диаграмма показывает, что поддерживаемая only частота дискретизации входного аудиосигнала составляет 8 кГц? Это верно?