1

我正在使用 android MediaPlayer 类,并且该应用程序的一项活动具有播放、暂停和选择 mp3 按钮。该应用程序共有 4 个活动。我能够让它为一项活动工作。但是,当我使用后退按钮离开或在按下按钮转到另一个活动后转到另一个活动时,当我离开活动时,媒体播放器不会继续播放。

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

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

两种选择,哪个更好?

4

1 回答 1

1

服务更好。这是您可以解决问题的方法。您可以为您的应用程序运行该服务来播放音乐。

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

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

这是有关 Lars Vogel 的服务的深入教程 http://www.vogella.com/articles/AndroidServices/article.html

于 2012-10-13T04:44:24.420 回答