Как определить аудио возможности на Android? - PullRequest
7 голосов
/ 11 марта 2010

Я экспериментирую с записью и воспроизведением звука на 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 кГц? Это верно?

1 Ответ

5 голосов
/ 11 марта 2010

Вы уже просматривали AudioTrack.getNativeOutputSampleRate (int streamType) ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...