Maison  >  Article  >  Comment arrêter l'audio lorsqu'un autre audio démarre (beaucoup d'audio)

Comment arrêter l'audio lorsqu'un autre audio démarre (beaucoup d'audio)

PHPz
PHPzavant
2024-02-12 14:06:05526parcourir

Contenu de la question

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 :)

Solution de contournement

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer