Jouer plusieurs chansons avec MediaPlayer en même temps: un seul est vraiment jouer

J'ai besoin d'aide avec la lecture de plusieurs pistes audio en même temps dans Android.

Je suis censé jouer trois pistes audio à exactement le même temps à l'aide de Android.Media.MediaPlayer.

Hier, j'ai réussi à faire fonctionner le faire :

MediaPlayer track1 = MediaPlayer.create(this, R.raw.track1);
MediaPlayer track2 = MediaPlayer.create(this, R.raw.track2);
MediaPlayer track3 = MediaPlayer.create(this, R.raw.track3);

Comme vous pouvez le voir, j'ai trois distincts instances de MediaPlayer ici.

Parce que je me demande, j'ai besoin d'avoir ces MediaPlayer joué dans un thread d'arrière-plan.

Ici est la partie où je commence le MediaPlayers:

//let's suppose this code snippet is in a run() method inside a Thread (which is the case)
track1.start();
track2.start();
track3.start();

Si je dis hier, c'est parce que le lendemain, il n'a pas fonctionné comme prévu.

En effet, de départ d'un lecteur multimédia semble à l'arrêt précédent de jouer MediaPlayer.

J'ai testé en mode débogage : clairement, track2.start() s'arrête track1 du MediaPlayer et suivant le même schéma, track3.start() s'arrête tack2 du MediaPlayer.

Donc, à la fin, seulement la piste 3 est en cours de lecture, je ne peux pas entendre l'une des pistes précédentes, quels que soient les réglages de volume sont alors que je pouvais clairement entendre avant de : il est censé créer une sorte une ambiance.

Bien sûr, de changer l'ordre dans lequel les pistes sont lancées ne change rien : seul le dernier morceau sera entendu.

Si je dis "entendu" c'est parce que en mode débogage, la vérification de la propriété MediaPlayer.isPlaying est de retour true : tous les trois joueurs disent qu'ils jouent, mais un seul peut être entendu... !

Pourquoi le changer ?
Pourquoi avait-il travailler une fois à arrêter de travailler après ?

REMARQUE:

  • les fichiers audio ont toutes la même durée d'environ 15 minutes
  • les fichiers audio ont été .mp3 fichiers compressés en .acc fichiers (à partir de 320kbps à 144kbps)
  • Je travaille sous Xamarin Studio dans C# mais pour clarety purpouse je m'en tiendrai à petit Java des extraits de code.

EDIT 1

Selon cette Jouer deux mp3 de la chanson en même temps ma solution devrait fonctionner, non ?

OriginalL'auteur Mackovich | 2014-10-15