Contexte à l'intérieur d'un Exécutable
J'essaie de jouer un son de R. raw. à l'intérieur d'un Thread/Praticable
Mais je ne peux pas obtenir que cela fonctionne.
new Runnable(){ public void run() { //ce qui me donne une NullPointerException, parce que getBaseContext est null MediaPlayer mp = MediaPlayer.créer( getBaseContext(), R. raw.fichier son); while (true) { si (quelque chose) jouer quelque chose } }
Comment puis-je obtenir du Contexte réel, à l'intérieur de la méthode run? Il est nul, quoi que j'ai essayer. Ou est-il une meilleure façon de le faire?
Vous devez vous connecter pour publier un commentaire.
Vous devez également être en mesure d'obtenir la référence de l'extérieur de la classe en utilisant
MainActivity.this
.Vous devez utiliser getBaseContext. Au lieu de cela, si cela est praticable dans une activité, vous devez stocker le contexte d'une variable de classe comme ceci:
Aussi, vous ne devriez pas avoir une boucle infinie comme celle de la lecture d'un son sur et de plus il devrait y avoir un sommeil là pour empêcher le son de jouer et dans une petite quantité de temps et recouvrent les mêmes sons les uns avec les autres.
this
au sein de l'activité elle-même. LeActivityClass.this
est la réponse correcte dans ce casJe suppose que vous avez besoin de créer un Thread et appel Thread.start().
Il faut déclarer un objet de Gestionnaire dans votre thread de l'INTERFACE utilisateur.
Ensuite dans votre Fil, utiliser