2012-10-12 23 views
1

我使用的是Android MediaPlayer类,此应用程序的其中一项活动具有播放,暂停和选择mp3,按钮。该应用共有4项活动。我能够让它为这项活动工作。然而,当我通过使用后退按钮离开或在按下按钮转到其他活动后转到其他活动时,当我离开活动时,媒体播放器不会继续播放。android服务或MediaPlayer的自定义实现,哪个更好?

我希望音乐能够继续在此应用的所有活动中播放,但不在应用外。并且能够在其他活动上暂停按钮以暂停相同的音乐曲目。但我不认为服务是最好的方式,因为它会在应用程序失焦时发挥作用。就像有人在看这个应用程序时看不到其他应用程序一样。我的理解是,即使您的应用对用户不可见,服务也更适合音乐在后台运行。

第一个选择是对MediaPlayer进行编码,以便它可以在此应用程序中的所有活动中运行,但不在应用程序之外。第二种选择是使用一个android服务,它可以被限制在这个应用程序中,如果可能的话。

这两个选择哪个更好?

回答

1

服务比较好。这是你可以做的解决你的问题。您可以运行应用程序的服务来播放音乐。

例如,如果您有四项活动A-> B-> C-> D.当您回到您应该停止媒体播放器的根活动A时(因此它不会在应用程序之外播放)你可以停止你的服务中的onStop()

下面是服务http://developer.android.com/reference/android/app/Service.html(固定链接)的开发者参考

这里是关于从拉斯·沃格尔服务 http://www.vogella.com/articles/AndroidServices/article.html

+0

谢深入教程您。我将使用一项服务。这看起来是最好的选择 – Kevik