J'ai 30 à 31 boutons et je veux qu'ils jouent un à la fois, donc si je clique sur un bouton, il jouera, puis lorsque je clique sur un autre bouton, il jouera, quel que soit le bouton sur lequel il s'agit. Arrêtez, voici l'exemple de code fait essentiellement cela et se répète, mais seuls les nombres changent, donc 1,2,3,4 etc :
public void Button1Text(View view) { Media1 = MediaPlayer.create(QuranJ30MA.this, R.raw.hannaba); Media1.start(); } public void Button1Text2(View view) { Button1p = MediaPlayer.create(QuranJ30MA.this, R.raw.mannaba); Button1p.start(); }
J'ai essayé de voir si d'autres personnes voulaient faire la même chose mais comme je ne suis pas très bon avec Java, je ne comprends pas comment l'appliquer à ma machine, si ce n'est pas trop demander, je voulais juste t'expliquer Découvrez comment cela fonctionne, merci :)
Vous ne devriez jamais créer plusieurs lecteurs multimédias, ce sont des objets lourds et consomment beaucoup de ressources. Au lieu de cela, créez un lecteur multimédia et utilisez setdatasource pour modifier le son émis par ses paramètres (bien sûr, vous devrez d'abord arrêter le son d'origine).
La prochaine chose à changer est la création de données. Créez un mappage des identifiants avec les sons :
map<int, int> sounds = new hashmap(); sounds.put(button1id, r.raw.hannaba); sounds.put(button2id, r.raw.mannaba); ...
Ensuite, vous pouvez avoir la fonctionnalité de clic :
public void buttonClick(View view) { mediaPlayer.stop() mediaPlayer.setDataSource(sounds.get(view.getId()) mediaPlayer.start() }
Définissez-le comme onclicklistener pour tous les boutons que vous souhaitez exécuter et vous n'avez besoin de l'écrire qu'une seule fois.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!