2010-09-24 5 views
4

Lorsque je clique, le code suivant conduit les deux sons à être joués non pas simultanément, mais séquentiellement. Pourquoi ne sont-ils pas joués simultanément?Pourquoi les sons SoundPool ne sont-ils pas lus simultanément dans onClick()?

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    mytextview=(TextView) findViewById(R.id.textview); 
    mytextview.setOnClickListener(this); 

    sp=(SoundPool) new SoundPool(8,0x00000003,1); 
    upSound=sp.load(this, R.raw.sound1, 1); 
    downSound=sp.load(this, R.raw.sound2, 1); 
} 

    @Override 
public void onClick(View v) { 
    sp.play(downSound, VOLUME, VOLUME, 1, 0, 1); 
    sp.play(upSound, VOLUME, VOLUME, 1, 0, 2); 
} 
+0

Voulez-vous lire le son de la même manière que l'action utilisateur? –

+0

Essayez de lire le second fichier en utilisant mediaplayer. alors il jouera simultanément. –

Répondre

7

une information très importante que je ne vois pas beaucoup lorsque vous travaillez avec des fichiers son: NE PAS UTILISER WAV !!! Vous verrez un comportement étrange, qui peut varier d'un téléphone à l'autre.

TOUJOURS UTILISER OGG !!!

+0

Rly m'a aidé! Merci beaucoup ! avec .wav en fait se comportait bizarre. Parfois, il jouait, parfois pas de son du tout. Après l'avoir converti en ogg en utilisant des convertisseurs en ligne, son travail ^^ thx – rohit

0

Copie possible de this question. Dans une réponse à cette question, il y a un lien vers un answer pour encore une autre question qui peut être utile, au cas où vous cherchez encore ...