Android背景音乐



我有一个问题。我看到这个答案:背景音乐android

我不知道这是否是最好的方法,但是问题是:当您更改活动时会发生什么?改变活动时,如何继续播放背景音乐?您需要创建一个新的背景线程吗?

我需要在背景中播放音乐,找不到最好的方法。我认为在每个活动中创建一个媒体播放器不是最好的方法。

如果您真正希望将音乐播放到后台,并且在Android屏幕上显示其他内容,那么您可以执行其他问题的问题的解决方案:开始播放音乐的服务。

如果您希望背景音乐仅播放您的应用程序在前景中,那么您就可以使用异步仪的路线。如果执行此操作,则只需要一个asynctask即可。它的生命周期与活动生命周期无关。请记住,OnPreeXecute和OnPostExecute回调将在将处理不同活动的UI线程上调用。

请记住,如果您使用asynctask播放背景音乐,那么默认情况下,没有其他asynctask可以同时运行,请共享相同的背景线程。

编辑:由于您需要与背景音乐互动,因此您可能应该使用意图进行服务并与之沟通。

我不会写有关如何制作服务的教程,因为那里已经有很多。您可以快速进行搜索并拿起一些东西。

在该服务的内部,您想制作一个LocalBroadcastManager。

myLocalManager = LocalBroadcastManager.getInstance(getApplicationContext());

注册一个广播员和一个意图。

让Broadcastreceiver检查其意图,即有关您想要的背景音乐的信息,然后进行。最简单的方法是在您的活动中加入额外的活动,然后将其列入您的服务。

让IntentFilter像" my.app.package.backgroundmusic"之类的东西。

然后,让您的各种活动获取自己的LocalBroadcastManager实例,然后致电SendBroadcast告诉服务该怎么做。当您构建意图时,您想使用与用来制作IntentFilter的名称相同的名称,以便它会触发您写的Broadcastreceiver。

最新更新