Erreur MediaPlayer: pause appelée dans l'état 64
Je suis à l'aide d'un MediaPlayer
dans mon Activity
.
Quand j'appuie sur le bouton de retour, je reçois cette erreur:
09-20 19:44:16.540: E/MediaPlayer(1822): pause called in state 64
09-20 19:44:16.540: E/MediaPlayer(1822): error (-38, 0)
Code
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
if (mp!= null && mp.isPlaying()) {
mp.stop();
}
Intent intentstart = new Intent(X.this, Y.class);
intentstart.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intentstart);
}
return super.onKeyDown(keyCode, event);
}
Si j'utilise mp.pause()
ça fonctionne. Pourquoi?
source d'informationauteur erdomester
Vous devez vous connecter pour publier un commentaire.
Il est illégal de mettre en pause un arrêté
MediaPlayer
et selon que le message d'erreur qui sonne exactement comme ce que vous faites.Je suggère de changer votre
onPause
telle sorte qu'il n'essayez pas de mettre en pause l'arrêtéMediaPlayer
.Peut-être:
Fait de ne pas le faire, j'ai juste trouvé ça dans la doc:
Vous devez maintenir une variable localement pour vérifier si vous avez déjà cessé de l'
MediaPlayer
puis la tester pour savoir si vous devriez ou non appelpause()
.J'ai utilisé une pause et de seekto méthode pour réinitialiser le lecteur.
Je suis venu ici à la recherche de réponses, mais les réponses ci-dessus ont été utiles dans d'autres choses, ils n'ont pas résolu mon problème...
MAIS ... j'ai réussi à résoudre le problème:
changer
mediaPlayer.stop();
à
mediaPlayer.reset();
m'a aidé à se débarrasser de la
error( -38 , 0 )
encore merci d'avoir signalé le problème 🙂
Après avoir fait face à un problème lors du démarrage de l'media player après l'avoir arrêté,
j'ai eu une exception et député a été une mesure de commencer à nouveau,
ensuite, lors du remplacement de
mp.stop()
avecmp.reset()
il a parfaitement fonctionné.
Même j'ai été confronté au même problème avec le même message d'erreur.
J'ai utilisé
mplayer.pause()
au lieu demplayer.stop()