我在一个单选组中有两个单选按钮,在选择一个单选按钮时,它将开始播放音乐并停止另一个声音,而在选择另一个单选按钮时,它将开始下一首歌曲并停止上一首歌曲。问题是我无法停止音乐。这首歌在后台继续播放。我正在使用对话框来显示单选按钮并在单击按钮时从用户那里获取输入。 每首歌曲长度大于3分钟。 我已经在互联网上搜索并尝试了多种解决方案,但没有任何解决方案有效。以下是我使用的代码:
btnDone.setOnClickListener(view.onClickListener)
{
@Override
public void onClick(View view)
{
boolean checked = radioButton1.isChecked();
boolean checked1 = radioButton2.isChecked();
MediaPlayer mediaPlayer = MediaPlayer.create(this,R.raw.song1);
MediaPlayer mediaPlayer2 = MediaPlayer.create(this,R.raw.song2);
if(checked && !checked1)
{
mediaPlayer.start();
}else if(checked1 && !checked)
{
try{
if(mediaPlayer !=null)
{
if(mediaPlayer.isPlaying())
{mediaPlayer.stop;
mediaPlayer.release;
mediaPlayer = null;
}
}
}
catch(Exception e)
{e.printStackTrace(); }
}
}
}
最佳答案
IMO 你的 else if(checked1 && !checked1)
条件不能正常工作所以试试 else if(checked1 && !checked)
试试下面的代码
btnDone.setOnClickListener(view.onClickListener)
{
@Override
public void onClick(View view)
{
boolean checked = radioButton1.isChecked();
boolean checked1 = radioButton2.isChecked();
MediaPlayer mediaPlayer = MediaPlayer.create(this,R.raw.song1);
MediaPlayer mediaPlayer2 = MediaPlayer.create(this,R.raw.song2);
if(checked && !checked1)
{
mediaPlayer.start();
}else if(checked1 && !checked) //change here
{
try{
if(mediaPlayer !=null)
{
if(mediaPlayer.isPlaying())
{mediaPlayer.stop(); // also change here
mediaPlayer.release(); //change here
mediaPlayer = null;
}
}
}
catch(Exception e)
{e.printStackTrace(); }
}
}
}
关于android - 无法停止媒体播放器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47950080/