android 服务或 MediaPlayer 的自定义实现,哪个更好?

标签 android service focus media-player

我正在使用 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/

相关文章:

android - 如何从 Android 的 USSD 代码中获取响应?

javascript - Angular ui-bootstrap-tpls-0.12.1 打开模态对话框设置焦点

macos - 操作系统 X : Capture keyboard input without visually taking focus

C# 获取焦点窗口?

android - java.lang.UnsatisfiedLinkError 更新到Android 5.0后

android - 使用 Jitsi Sdk 和 Quickblox-android-sdk 时重复类 org.webrtc.AndroidVideoDecoder

java - 将在线 XML 数据设置/传递到表格布局中的图像按钮的逻辑

android - "Error:(2) Error retrieving parent for item No resource found that matches the given name ' android :TextAppearance. Material.Widget.Button.Inverse'

windows - Tomcat8 作为 Windows 服务 - 监听网络套接字

wcf - 使用 WCF 的 basicHttpBinding 进行 Windows 身份验证