我想自己为 Android 开发一个媒体播放器,但我有一个概念问题:我应该只为播放器使用 Service
还是 Activity
?
我的应用程序中有 Fragments
,当我点击音乐列表中的其中一项时,我想播放一首歌曲,但我真的不知道我应该使用这两种技术中的哪一种用于让音乐即使在导航过程中或应用程序外也能继续播放。
在播放歌曲时启动一个新的 Activity
然后保持 Activity
运行或启动一个 Service
等待一些更好吗事件?
提前致谢。
最佳答案
您的应用的最佳解决方案可能是
i) 使用前端可视化您的应用(例如选择要播放的音乐、暂停、转发和其他功能)
ii) 启动在后台运行的服务,即使 Activity 已关闭,它也会在后台继续 Activity 进程..
您可以通过实现以下 -> 来完成此操作 ->
public class MyService extends Service implements MediaPlayer.OnPreparedListener {
private static final String ACTION_PLAY = "com.example.action.PLAY";
MediaPlayer mMediaPlayer = null;
public int onStartCommand(Intent intent, int flags, int startId) {
...
if (intent.getAction().equals(ACTION_PLAY)) {
mMediaPlayer = ... // initialize it here
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.prepareAsync(); // prepare async to not block main thread
}
}
/** Called when MediaPlayer is ready */
public void onPrepared(MediaPlayer player) {
player.start();
}
}
我认为这对您有所帮助..
关于android - 在 MediaPlayer App 中播放音乐的服务或 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22035392/