我有关于在活动中播放声音的问题,我有报警管理器,我使用媒体播放器播放声音,现在当我尝试设置两个闹钟时(假设这两个闹钟与他们的时间只有1分钟的差异)当第一个警报报警并且我没有关闭该活动然后等待另一个分钟时,另一个活动弹出然后播放声音,所以在后台播放两个声音。
我想在前面的另一个闹钟
时让前一个活动的声音停止答案 0 :(得分:0)
在manifest
中将此属性放入activity
:
<activity
android:name=".YourActivity"
android:launchMode="singleTop">
launchMode
的含义以及可能出现的状态,请参阅文档中的https://developer.android.com/guide/topics/manifest/activity-element.html
然后您的活动将只开始一次。如果它已经启动,它只是前景而没有第二个出现。对于MediaPlayer:
if(mediaPlayer!=null){
if(mediaPlayer.isPlaying()){
mediaPlayer.stop();
mediaPlayer.release();
}
mediaPlayer = MediaPlayer.create(this, R.raw.your_sound);
mediaPlayer.start();
}
如果您之前已发布mediaPlayer.isPlaying()
,请务必不要致电mediaPlayer
。这将抛出illegalStateException
。
这只是从头开始,你必须根据自己的需要进行调整。