我想在调用Activity的onPause()
时播放声音。为此,我使用以下代码:
@Override
public void onPause()
{
super.onPause();
MediaPlayer player = MediaPlayer.create(this, Settings.System.DEFAULT_RINGTONE_URI);
player.setLooping(false);
player.start();
}
效果很好,但声音会一直持续播放。我尝试添加
OnCompletionListener
,但这没有帮助(从未调用Listener
)。我知道我不会在任何地方调用
player.stop()
和player.release()
,但是我什至不知道在哪里调用。我现在的问题是:如何使声音仅在之后播放?在应用程序进入后台之前,是否有等待媒体播放器完成的方法?
最佳答案
好的,我找到了解决方案。
问题是,我正在使用Settings.System.DEFAULT_RINGTONE_URI
,显然它从未停止播放。
使用Settings.System.DEFAULT_NOTIFICATION_URI
可以解决此问题。
关于java - 从onPause()启动时MediaPlayer循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16436113/