我想在我的 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/