¿Cómo determino las capacidades de audio en Android?

Estoy experimentando con la grabación y reproducción de audio de Android. ¿Hay una manera de enumerar los parámetros de audio disponibles en mi dispositivo?

En este momento, cuando paso una combinación de parámetros que el hardware (o el emulador) no me gusta, recibo un error. Así que tengo que "adivinar":

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) { ... 

Seguramente hay una mejor manera!


Este gráfico indica que la única frecuencia de muestreo de entrada de audio compatible es 8 kHz? ¿Es eso correcto?

¿Ya has visto AudioTrack.getNativeOutputSampleRate (int streamType) ?

  • Transferencia de datos mediante ultrasonido
  • Obtener la frecuencia de un archivo de audio en cada 1/4 segundos en android
  • Volumen de audio de Android webRTC
  • Reproductor de medios Android Reiniciar audio después de llamar a Stop
  • ¿Cómo reproducir audio a través del altavoz Bluetooth incluso cuando el auricular está enchufado?
  • Recibir audio vía Bluetooth en Android
  • ¿Por qué toma tanto tiempo para que MediaPlayer de Android prepare algunas secuencias en vivo para su reproducción?
  • Adición de efectos de audio personalizados al reproductor de audio de Android
  • Mute Efecto de audio izquierdo / derecho usando sdk Superpowered
  • ¿Cómo acelerar la reproducción de música en tiempo real en android sin cambiar el tono?
  • Reproducir archivo de audio desde el directorio de activos
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.