Android reproduce sonidos después del retardo

Tengo que reproducir sonidos en eventos GUI, como hacer clic en los botones, etc. Para ello, llamo al siguiente código nativo de WebView:

MediaPlayer _SoundPlayer = new MediaPlayer(); private void playSound(String sound) { _SoundPlayer.reset(); try { AssetFileDescriptor afd = getAssets().openFd("sound/" + sound + ".mp3"); _SoundPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength()); _SoundPlayer.prepare(); _SoundPlayer.start(); } catch (Exception e) { } } 

El problema es que hay un retardo ~ 500ms entre un evento y su sonido. ¿Puedo optimizar el sonido de reproducción de alguna manera, tal vez, la creación de una MediaPlayer dedicado instancias para todo tipo de sonido?

Saludos,

Utilice SoundPool para reproducción de medios de baja latencia, en lugar de MediaPlayer .

Veo que esto ya tiene una respuesta aceptada, pero me gustaría añadir que no hay una solución completa en este momento: Android en la actualidad tiene latencia de audio muy grande. Los desarrolladores todavía están esperando una buena solución.

Este número se refiere al NDK, pero el problema es general:

http://code.google.com/p/android/issues/detail?id=3434

  • Decodificación de aac-eld en Linux
  • Cómo reproducir un archivo de audio en una llamada de voz en android
  • Audio para Android: cambiar el tono
  • ¿Puede el emulador de Android grabar y reproducir audio utilizando hardware de PC?
  • ¿Valores de amplitud de audio PCM?
  • No se puede acceder a AudioRecorder
  • La reproducción de una canción tras otra provoca un error en MP3Extractor
  • Reproducción de varios sonidos con SoundManager
  • Android WebView reproducir audio con javascript
  • Grabar y procesar audio simultáneamente con Thread en Android
  • ¿Cómo determino las capacidades de audio en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.