android - 在所有 Activity 中显示通用音乐播放器

标签 android android-fragments android-activity persistent audio-player android-music-player

我正在为一个乐队开发一个应用程序,它由几个不同的 Activity 组成,例如议程、新闻部分、专辑部分等等。 因为是乐队,所以我想在背景中播放乐队的歌曲。

这不是问题,但我想在所有 Activity 的底部显示一个小型音乐播放器,以便用户可以随时停止、跳过或重播歌曲(如果他们愿意)。例如,可以在 Mobile Roadie 的应用程序中找到这方面的示例。

但是我不知道该怎么做。我最好的猜测是创建一个具有自己布局的音乐播放器类,并将其包含在每个 Activity/布局的底部。但由于每个 Activity 都在其自己的线程中开始,我猜这会为每个 Activity 重置播放器。

那么,我将如何为我的所有 Activity 添加一个通用音乐播放器,并在其中维护音乐播放器的状态?

例如,下载 Mobile Roadie 的任何基于音乐的应用程序,您就会明白我的意思。


我决定使用 fragment ,但我不确定是否可以在现有 Activity 中使用它们。我发现的所有示例都集中在全新的项目上,而不是已经存在的项目。 所以简而言之,您可以创建 fragment 并在现有 Activity 中使用它们吗? (例如在现有议程 Activity 之上显示音乐播放器)

最佳答案

我建议您按照以下方式进行操作。由于必须在所有 Activity 中保留音乐播放状态,因此您必须使用服务来实现这一点。您还需要一个控制面板,它必须与 Activity 分开存在。最好的方法是使用 fragments .创建一个连接到服务并提供 UI 来控制它的 fragment ,然后将此 fragment 添加到您需要它的所有 Activity 中。

关于android - 在所有 Activity 中显示通用音乐播放器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8308905/

相关文章:

java - FLAG_NOT_FOCUSABLE Activity

android - 将测试文件夹添加到类路径中以获得特定的gradle风格

java - Android 相机预览失败(仅限 API<14)

android - AccountAuthenticatorActivity 和 Fragments

android - 在 SupportMapFragment 中引用 MapView

java - 如何将变量从 for(或 while)循环发送到另一个 Activity

java - 如何将ListView切换到TextView以从数据库检索数据

android - 如何获取堆栈大小

java - 如何打开关闭应用程序后打开的最后一个 fragment 并使用抽屉导航和导航组件重新打开它

java - 开始新 Activity 不会暂停当前 Activity