Question

quand je lance mon application, il indique « Dépasse nombre maximal d'instances de OpenCore » error.How pour résoudre cette erreur. Merci

Était-ce utile?

La solution

Le ci-dessus se produit si votre instantianting plusieurs instances du MediaPlayer.

Vous devriez lire le cycle de vie du lecteur multimédia et ses différents états

  • Définissez un lecteur multimédia, à périmètre variable de classe, par exemple
  • instancier dans la méthode OnCreate et dans les méthodes onResume selon les besoins
  • dans votre fonction pour jouer utiliser votre audio la méthode .Reset pour obtenir le lecteur multimédia pour entrer dans l'état de repos et
  • utilisez le .setDataSource ou équivalent pour l'obtenir dans un état initialisées
  • .prepare alors pour l'état de préparation
  • puis .start pour jouer l'audio
  • .stop () etc pour l'arrêter
  • lorsque votre fini utilisez la fonction .release pour libérer la ressource audio.

Media Player est définie comme une variable de portée de classe et instancié dans la méthode OnCreate ()

    private void startPlayingAudio()
{
    try {

        Uri path1 = Uri.parse("android.resource://com.yourpackagehere./" + R.raw.beep);         
        mp.reset();  // reset to idle state
        mp.setDataSource(this, path1); // from idle to initialised state

        mp.prepare();

        mp.start();         
    } catch (Exception ioe) {
        Log.e(LOG_TAG, "Error playing the beep sound");
    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top