处理多活动应用程序中的音乐播放

时间:2012-01-09 10:53:54

标签: android audio android-activity media-player playback

我的应用程序中有几个活动,后台有音乐播放,我想要实现的是音乐应该在应用程序启动时启动,并在应用程序转到后台时完成播放。有没有简单的解决方法,或者我应该实现某种管理每个活动中播放的系统?提前谢谢。

3 个答案:

答案 0 :(得分:2)

您可以使用可随时启动和停止的服务播放音乐文件。

答案 1 :(得分:0)

使用MediaPlayer服务实现它是实现这一目标的最佳方式。

如果您在活动中实施,则需要 -

  • 每个活动都需要知道您正在播放的当前歌曲,即当前的播放时间。
  • 当您启动新活动时,您必须在当前活动中停止媒体播放器并在新活动中重新启动它并在开始播放之前寻找它。
  • 音频播放会出现故障。如果他不断在活动之间切换,这对用户来说会很烦人。

如果将其作为服务实施 -

  • 您需要与正在播放音乐的新活动进行通信。只需传递一个布尔值(isplaying
  • 在应用程序本身关闭之前,每个活动都应该或者更确切地知道它是否是最后一个活动。如果它知道这个信息,那么它需要做的就是检查标志并重新获取服务并在它退出之前将其关闭。
  • 在活动之间切换时不会出现任何故障。

答案 2 :(得分:0)

创建一个扩展Application标签的Class文件,并开始在oncreate()方法中播放音乐。

public class MyApp extends Application {
@Override
public void onCreate() {
        //start music in a service
    }
}
来自parentActivity的

,通过调用Activity:StartActivityForResult()来启动其他活动,因此当子活动结束时,parentActivity将知道活动何时结束;它将导致Activity :: onActivityResult()。

在这种情况下,您可以开始在主要父活动中播放媒体,并且可以在按下时结束音乐(服务)。

隐藏所有活动中的任何HomeButton点击并暂停/停止播放器(结束服务)。