我遇到以下问题:Spinner中重叠两个声音
我有一个有不同歌曲的微调。在微调器中,用户可以预览所选的声音。我已经开发了那部分。但我的问题是:当我从列表中选择一首歌曲时,它将播放。然后,当我们从列表中选择另一首歌曲时,Mediaplayer不会停止并播放上一首歌曲。但我需要的是当用户选择另一首歌曲时停止前一首歌曲。
这里是我的代码...
//set onClickListner to the onItem SelectedListner
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
choose_ringtone = (int) id;
// Toast.makeText(setAlarm.this,"The selected choice is "+ id,Toast.LENGTH_SHORT).show();
String ringtSound = String.valueOf(parent.getItemAtPosition(position));
//set ringtone options
switch (ringtSound) {
case "alarm Sound 1":
mp = MediaPlayer.create(setAlarm.this, R.raw.wake_up);
break;
case "alarm Sound 2":
mp = MediaPlayer.create(setAlarm.this, R.raw.alarm);
break;
case "alarm Sound 3":
mp = MediaPlayer.create(setAlarm.this, R.raw.wake_up_tone);
break;
case "alarm Sound 4":
mp = MediaPlayer.create(setAlarm.this, R.raw.sweet_alarm);
break;
case "alarm Sound 5":
mp = MediaPlayer.create(setAlarm.this, R.raw.morning_alarm);
break;
default:
break;
}
if(mp!=null) {
mp.start();
}
Thanks.Its工作。我也使用isPlaying()来检查mediaplayer是否正在运行。但我用它后切换case.I认为,case.Any方式再次感谢您的建议.. – Sampath
很好听! [接受答案](https://meta.stackexchange.com/questions/14994/do-you-feel-dirty-if-you-nudge-new-users-to-accept-your-answer-when-they-指示)是在这里说谢谢的好方法。 – Bill