La lecture audio des fichiers l'un après l'autre
J'ai une liste de fichiers audio tels que ce,
int music_numbers[] = { R.raw.one, R.raw.two, R.raw.three, R.raw.four,
R.raw.five, R.raw.six, R.raw.seven, R.raw.eight, R.raw.nine };
J'ai besoin pour jouer à ce un par un - quand j'envoie 100 à ce play_numbers méthode - je suis l'intention de jouer chiffres sage..
Je l'ai fait mais j'ai pas pu le faire l'un après l'autre..
private void _play_numbers(final String i) {
//TODO Auto-generated method stub
mPlayer = MediaPlayer.create(PlayFileActivity.this, R.raw.payment);
mPlayer.start();
mPlayer.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
//TODO Auto-generated method stub
mPlayer.stop();
myDigit = i.charAt(1) + "";
_function_play_file(Integer.parseInt(myDigit));
}
});
}
dans _function_play_file - j'ai ce
void _function_play_file(int files) {
switch (files) {
case 0:
mPlayer = MediaPlayer.create(this, music_numbers[0]);
mPlayer.start();
case 1:
mPlayer = MediaPlayer.create(this, music_numbers[1]);
mPlayer.start();
case 2:
mPlayer = MediaPlayer.create(this, music_numbers[2]);
mPlayer.start();
case 3:
mPlayer = MediaPlayer.create(this, music_numbers[3]);
mPlayer.start();
case 4:
mPlayer = MediaPlayer.create(this, music_numbers[4]);
mPlayer.start();
case 5:
mPlayer = MediaPlayer.create(this, music_numbers[5]);
mPlayer.start();
case 6:
mPlayer = MediaPlayer.create(this, music_numbers[6]);
mPlayer.start();
case 7:
mPlayer = MediaPlayer.create(this, music_numbers[7]);
mPlayer.start();
case 8:
mPlayer = MediaPlayer.create(this, music_numbers[8]);
mPlayer.start();
case 9:
mPlayer = MediaPlayer.create(this, music_numbers[9]);
mPlayer.start();
case 10:
mPlayer = MediaPlayer.create(this, music_numbers[10]);
mPlayer.start();
}
}
Tout d'abord, votre commutateur est absent de la casse; Ne pourrais pas vous utiliser mPlayer = MediaPlayer.créer(ce, music_numbers[fichiers]) à la place?
Quelle est l'erreur?
Tous les cas en cas de commutateur doit être terminé avec les "casser". Rendez-vous ici -> docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html
Quelle est l'erreur?
Tous les cas en cas de commutateur doit être terminé avec les "casser". Rendez-vous ici -> docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html
OriginalL'auteur Sanjay Herle | 2012-05-28
Vous devez vous connecter pour publier un commentaire.
Vous devez définir un onCompletionListener de chacun et de commencer la suivante à la fin.
La meilleure façon d'y parvenir est de créer une classe qui implémente OnCompletionListener qui gère le onCompletion et reçoit le prochain fichier à lire. De cette façon, vous pouvez instancier bien dans votre code.
Bien sûr, n'oubliez pas votre pause; dans le cas ci-dessus.
OriginalL'auteur IncrediApp
Utiliser une file d'attente pour la tenue de l'nombres à jouer.
}
OriginalL'auteur Ronnie
Ce code fonctionne pour moi,mais je place les fichiers audio dans le dossier des actifs:
OriginalL'auteur Aerrow
Ce travail est le code pour jouer des chansons en continue la boucle
OriginalL'auteur Virag Brahme
OriginalL'auteur NagarjunaReddy
utilisation PlayMedia Comme ce
et de définir PlayMedia Classe Comme ceci
OriginalL'auteur do01
Pour moi, le problème était que j'étais appel
mediaPlayer.prepare()
sans appelermediaPlayer.reset()
.Tout bon maintenant.
OriginalL'auteur Code Knox