recherche

Maison  >  Questions et réponses  >  le corps du texte

java - Android 有关于后台播放音乐的问题

最近在做一个音乐播发器,我把播放音乐这个功能写在一个服务里,再和播放的界面进行绑定,注意是BindService而不是StartService。当我播放界面finish()后并且按理说服务也自动销毁了,但是音乐仍在播放,我用的是MediaPlayer类播放的音乐,不知道为什么,求大神告知。

PHPzPHPz2887 Il y a quelques jours456

répondre à tous(3)je répondrai

  • PHPz

    PHPz2017-04-17 17:38:33

    Avez-vous appelé unBind avant de terminer ?

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:38:33

    BindService ne sera pas détruit tant qu'il y aura une autre activité liée à ce service. Il doit attendre que toutes les activités aient appelé unbound() avant de pouvoir être détruit.


    Schéma du cycle de vie du service

    Une expérience pratique consiste à envoyer un message au service avant le unBound() de l'activité pour indiquer au service que l'activité doit être dissociée. Cet article de blog contient du code source et une introduction à la communication inter-processus Android BoundService <. 🎜>

    De plus, Mediaplayer appelle-t-il release() dans onDestroy du service ?

    répondre
    0
  • 高洛峰

    高洛峰2017-04-17 17:38:33

    Seule l'interface de lecture actuelle y est liée, et le lecteur multimédia n'est pas publié dans le service. Mais logiquement, puisque mon activité est terminée et que le service lié a été détruit, le lecteur multimédia du service devrait également être détruit.

    répondre
    0
  • Annulerrépondre