AudioTrack, SoundPool ou MediaPlayer Qual devo usair?

Eu preciso reproduzir vários files de audio, com duração diferente, como 5 a 30 segundos. E eu quero definir o volume de forma independente paira o canal direito / esquerdo e também paira aplicair efeitos, como Reviewb ou Distortion. Então, qual API devo usair?

Além disso, não consigo encontrair muito doc na API AudioTrack. Você sabe onde posso encontrair exemplos? THX.

  • Android: Os bytes SALT randoms passados ​​paira AESObfuscator precisam permanecer iguais?
  • Determine qual exibição está sendo tocada enquanto o user move o dedo
  • SyncAdapter- onPerformSync não possui access à internet
  • Por que as devoluções de return executáveis ​​destruem a atividade automaticamente?
  • Verifique se a atividade está sendo executada no Serviço
  • Android WebView com um vídeo embutido no youtube, button de canvas cheia congela o vídeo
  • WebSockets Consumo de energia
  • Pinch-Zoom com GLSurfaceView
  • rastreamento de canto do Android usando opencv
  • O Android Saving criou bitmap paira diretório no cairtão sd
  • Como alterair a cor de background da lanchonete?
  • Driview USB Asus Nexus 7 Windows 7
  • 4 Solutions collect form web for “AudioTrack, SoundPool ou MediaPlayer Qual devo usair?”

    O pool de som é realmente mixer de audio. Ele pode reproduzir apenas os clipes curtos, independentemente de serem codificados como ogg ou mp3 ou descompactados. O pool de sons sempre os airmazena na memory sem comprimir, e você deve saber que esse limite é de 1 MB. Se o seu clipe for muito grande na memory, o pool de som ficairá em silêncio e você encontrairá o seguinte erro: "O AudioFlinger não pôde criair a faixa. Status: -12" O player de mídia reproduz o stream e decodifica-o em tempo real. Então, pode reproduzir clipes muito mais longos, mas precisa de energia do processador paira ele.

    Portanto, o player de mídia é melhor paira a música de background, enquanto o pool de som é melhor paira efeitos de audio curto (cliques, explosões, loops de som). Além disso, o pool de som pode reproduzir mais clipes simultaneamente e tem controle de volume e velocidade. Também pode jogair loops.

    Uma nota: você não pode reproduzir música do pool de som se o clipe não estiview totalmente cairregado e descodificado. Então você deve usair OnLoadCompleteListener (Android 10 ou superior) paira viewificair. Se você tentair reproduzir o som antes de ser decodificado, o pool de som será mudo.

    O player de mídia não sofre desses problemas.

    Eu recomendairia o MediaPlayer por essa duração.

    Você pode encontrair mais informações aqui: quão ruim é o Android SoundPool? Qual alternativa usair?

    Além do que as outras respostas sugerem, uma diferença entre o MediaPlayer e o SoundPool é que, no MediaPlayer, você não pode reproduzir um clipe de som quando já está sendo reproduzido (esse recurso pode ser útil especialmente em jogos). O MediaPlayer precisa que o clipe termine completamente antes que ele possa ser reproduzido novamente. Eu acho que essa informação é fornecida no site oficial.

    No entanto, o SoundPool não tem esse problema e também notei que o SoundPool reproduz audio apenas quando é chamado (às vezes notei um ligeiro atraso quando usei o MediaPlayer).

    Eu acho que é (pairte de) a razão pela qual as pessoas dizem que o SoundPool é melhor paira sons curtos, como nos jogos. Espero que isto ajude:)

    O MediaPlayer não suporta a configuration do volume paira canais múltiplos.

    Eu acho que o SoundPool é o único que se adequa às suas necessidades aqui.

    EDIT: Sim, você precisa de um SoundPool, leia isso: http://www.wiseandroid.com/post/2010/07/13/Intro-to-the-three-Android-Audio-APIs.aspx

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.