无法停止媒体播放器

问题描述 投票:2回答:1

我在一个无线电组中有两个单选按钮,在选择一个单选按钮时,它将启动音乐并停止另一个声音,在选择其他声音时,它将启动下一首歌并停止前一首歌。问题是我无法阻止音乐。这首歌继续在后台播放。我正在使用对话框显示单选按钮,并在按钮单击时获取用户的输入。每首歌的长度大于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(); }
      }



           }
         }
android
1个回答
0
投票

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(); }
      }



           }
         }
© www.soinside.com 2019 - 2024. All rights reserved.