【发布时间】:2018-06-12 10:12:10
【问题描述】:
我有一个从主(启动器)活动开始播放音乐的 MediaPlayer。我偶然发现了两个问题。
当我按下主页按钮或我的应用程序通常失去焦点时,音乐仍在播放。
当我返回主(启动器)活动时,mediaPlayer 再次启动(创建新的 mediaPlayer),结果是有两个 MediaPlayer 同时播放同一个文件。
*对于第一个问题,我尝试在 onStop() 方法中停止音乐,但是当我从主要活动转到其他活动时音乐停止,这是我不想要的,onDestroy 不起作用。
我的代码:
if (player == null) {
player = MediaPlayer.create(this, R.raw.music);
player.setLooping(true);
if (!player.isPlaying()) {
player.start();
}
}
P.S 我希望音乐不仅可以在主要活动中播放,还可以在其他活动中播放。
【问题讨论】:
-
您是否尝试过在
onDestroy()方法中停止MediaPlayer? -
对于您的第一个问题,如果您的应用在此处可见,请使用 ActivityLifeCycleCallback 获取回调stackoverflow.com/a/50510902/5689605 对于您的第二个问题,请在您的应用中创建一个单例媒体播放器,然后播放或停止。
标签: java android android-mediaplayer