Comment arrêter tous les sons dans SoundPool?

J'utilise SoundPool pour jouer des sons sfx dans un jeu sur Android. Dans la plupart des cas, il fonctionne parfaitement, sauf que parfois je dois arrêter tous les sons à la fois, pas une pause (peu importe si ils sont configurés pour boucler ou non). Je ne peux pas comprendre comment arrêter un son de jouer sans connaître le StreamID de ce son. Ce que je sais:

  • soundpool.load(some sound) renvoie un ID de son
  • soundpool.play( soundID ) joue le son et renvoie un ID courant
  • soundpool.stop( streamID ) arrête le son

Ma question est, comment puis-je arrêter un son sans connaître l' ID courant ? J'ai essayé de suivre tous les fichiers dans une liste, mais parfois il y a tellement de courants courts en jouant à la fois, cela ne fonctionnera pas. Et je ne trouve aucune méthode dans SoundPool pour obtenir les fichiers StreamID actifs. Est-ce que quelqu'un sait comment arrêter tous les sons? Toute suggestion est appréciée! Merci

  • Android SoundPool: soyez informé à la fin de la lecture
  • Savoir si le chargement d'un son avec SoundPool a été réussi sur Android 1.6 / 2.0 / 2.1
  • Comment puis-je savoir si un son a terminé de jouer dans Android?
  • Et encore une fois sur les problèmes de mémoire avec SoundPool
  • Soundpool ne boucle pas l'Android 4.3
  • Comment jouer des sons à des périodes précises sur différents appareils dans Android
  • Problèmes avec Android Soundpool
  • Uncaught exception lancé par le finalisateur java.lang.IllegalStateException: Binder a été finalisé
  • 2 Solutions collect form web for “Comment arrêter tous les sons dans SoundPool?”

    Qu'en est-il de l'utilisation de .release() ? Accroître la documentation:

    Libérez les ressources SoundPool. Libère toute la mémoire et les ressources indigènes utilisées par l'objet SoundPool. Le SoundPool ne peut plus être utilisé et la référence doit être définie sur nulle.

    Je pense que cela arrête tout. (En fait, il causait un bug dans l'une de mes applications, c'est pourquoi je le dis)

    Cependant, je crois que si vous voulez écouter des sons plus tard, vous devrez peut-être les charger à nouveau .

    Je recommanderais d'utiliser autoPause () et autoResume () pour mettre en pause et redémarrer vos sons. Cette fonction fait partie du soundpool:

    http://developer.android.com/reference/android/media/SoundPool.html#autoPause ()

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.