我正在使用 android MediaPlayer 类,这个应用程序的 Activity 之一有播放、暂停和选择 mp3 按钮。该应用程序总共有 4 个 Activity 。我能够让它为一项 Activity 工作。但是,当我使用后退按钮离开或在按下按钮转到另一个 Activity 后转到另一个 Activity 时,媒体播放器不会在我离开 Activity 时继续播放。
我希望音乐在该应用程序的所有 Activity 中持续播放,但不希望在应用程序之外播放。并且能够在其他 Activity 上使用暂停按钮来暂停相同的音乐轨道。但我不认为服务是最好的方式,因为它会在应用程序失焦时播放。就像当某人正在查看其他应用程序而该应用程序不可见时一样。我的理解是,服务更多的是让音乐在后台运行,即使您的应用对用户不可见也是如此。
第一种选择是对 MediaPlayer 进行编码,使其运行在该应用程序中的所有 Activity 中,但不会运行在应用程序外部。第二种选择是以一种可以将其限制在该应用程序中的方式使用 Android 服务。
两种选择,哪个更好?
最佳答案
服务更好。这是您可以解决问题的方法。您可以为您的应用程序运行该服务来播放音乐。
例如,如果您有四个 Activity A->B->C->D。当您返回根 Activity A 时,您应该从中停止媒体播放器(因此它不会在应用程序外播放),您可以在 onStop() 中停止你的服务
这是服务的开发人员引用 http://developer.android.com/reference/android/app/Service.html (固定链接)
这里是关于 Lars Vogel 服务的深入教程 http://www.vogella.com/articles/AndroidServices/article.html
关于android 服务或 MediaPlayer 的自定义实现,哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12854301/