Как я определяю аудио возможности на Android?

Я экспериментирую с аудиозаписью и воспроизведением 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) { 
    ...

Конечно, существует лучший путь!


Эта диаграмма указывает, что единственная поддерживаемая частота дискретизации аудиовхода составляет 8 кГц? Это корректно?

7
задан Seth 11 March 2010 в 02:06
поделиться