android - 无法停止媒体播放器

标签 android

我在一个单选组中有两个单选按钮,在选择一个单选按钮时,它将开始播放音乐并停止另一个声音,而在选择另一个单选按钮时,它将开始下一首歌曲并停止上一首歌曲。问题是我无法停止音乐。这首歌在后台继续播放。我正在使用对话框来显示单选按钮并在单击按钮时从用户那里获取输入。 每首歌曲长度大于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/

相关文章:

android - 从静态库 *.a 文件构建共享库

android - TextView字体大小根据不同的分辨率和屏幕大小

android - StreetViewPanorama.getLocation 始终返回 null。

android - mBluetoothGatt.getService(uuid) 返回 null

java - 在 View 上使用线程和绘图 Canvas 的空指针,android 初学者,包括 logcat

android - 如何实现通知聚合

android - java.net.UnknownHostException 无法使用 RxJava 转换为 retrofit2.adapter.rxjava.HttpException

android - 如何将 TextView 的一部分链接到 Activity

android - Fragment isAdded() 在已添加的 Fragment 上返回 false

java - Gmail api 范围和格式不匹配