2017-06-03 84 views
0

我使用MediaPlayer进行流式传输问题在于,当用户重新开始使用时,它不会恢复,每当用户切换回时,它只是从一开始播放,谢谢我真的需要你们的帮助:的)MediaPlayer在暂停后继续流式传输MP3

@Override 
public void onCheckedChanged(RadioGroup rg, int i) { 
    int rIds = rGroup.getCheckedRadioButtonId(); 

    switch (rIds){ 
     case R.id.btn: 
      if(mPlayer.isPlaying()) { 
       loadProgress(); 
       mPlayer.reset(); 
       streamMp3(CLASS.staticMethodforURL); 
      }else{ 
       loadProgress(); 
       mPlayer.reset(); 
       streamMp3(CLASS.staticMethodforURL); 
      } 
      break; 
     case R.id.btn1: 
      if(mPlayer.isPlaying()) { 
       loadProgress(); 
       mPlayer.reset(); 
       streamMp3(CLASS.staticMethodforURL); 
      }else{ 
       loadProgress(); 
       streamMp3(CLASS.staticMethodforURL); 
      } 
      break; 
     case R.id.btn2: 
      if(mPlayer.isPlaying()) { 
       loadProgress(); 
       mPlayer.reset(); 
       streamMp3(CLASS.staticMethodforURL); 
      }else{ 
       loadProgress(); 
       streamMp3(CLASS.staticMethodforURL); 
      } 
      break; 
     case R.id.btn3: 
      if(mPlayer.isPlaying()) { 
       loadProgress(); 
       mPlayer.reset(); 
       streamMp3(CLASS.staticMethodforURL); 
      }else{ 
       loadProgress(); 
       streamMp3(CLASS.staticMethodforURL); 
      } 
      break; 
     case R.id.btn4: 
      if(mPlayer.isPlaying()) { 
       loadProgress(); 
       mPlayer.reset(); 
       streamMp3(CLASS.staticMethodforURL); 
      }else{ 
       loadProgress(); 
       streamMp3(CLASS.staticMethodforURL); 
      } 
      break; 
     case R.id.btn5: 
      if(mPlayer.isPlaying()) { 
       loadProgress(); 
       mPlayer.reset(); 
       streamMp3(CLASS.staticMethodforURL); 
      }else{ 
       loadProgress(); 
       streamMp3(CLASS.staticMethodforURL); 
      } 
      break; 
     case R.id.btn6: 
      if(mPlayer.isPlaying()) { 
       loadProgress(); 
       mPlayer.reset(); 
       streamMp3(CLASS.staticMethodforURL); 
      }else{ 
       loadProgress(); 
       streamMp3(CLASS.staticMethodforURL); 
      } 
      break; 
     case R.id.btn7: 
      if(mPlayer.isPlaying()) { 
       loadProgress(); 
       mPlayer.reset(); 
       streamMp3(CLASS.staticMethodforURL); 
      }else{ 
       loadProgress(); 
       streamMp3(CLASS.staticMethodforURL); 
      } 
      break; 
     case R.id.btn8: 
      if(mPlayer.isPlaying()) { 
       loadProgress(); 
       mPlayer.reset(); 
       streamMp3(CLASS.staticMethodforURL); 
      }else{ 
       loadProgress(); 
       streamMp3(CLASS.staticMethodforURL); 
      } 
      break; 
     case R.id.btn9: 
      if(mPlayer.isPlaying()) { 
       loadProgress(); 
       mPlayer.reset(); 
       streamMp3(CLASS.staticMethodforURL); 
      }else{ 
       loadProgress(); 
       streamMp3(CLASS.staticMethodforURL); 
      } 
      break; 
     case R.id.btn10: 
      if(mPlayer.isPlaying()) { 
       loadProgress(); 
       mPlayer.reset(); 
       streamMp3(CLASS.staticMethodforURL); 
      }else{ 
       loadProgress(); 
       streamMp3(CLASS.staticMethodforURL); 
      } 
      break; 
    } 
} 

private void streamMp3(String u) { 
    try { 
     mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
     mPlayer.setDataSource(u); 
     mPlayer.setLooping(true); 
     mPlayer.prepareAsync(); 
     mPlayer.setOnPreparedListener(this); 
    } catch (Exception e) { 

    } 
} 
+0

[Android 2.2 MediaPlayer可能与一个SHOUTcast URL工作正常,但不与另一个](https://stackoverflow.com/questions/8681550/android-2-2-mediaplayer-is -work-fine-with-one-shoutcast-url-but-not-with-the) –

回答

0

代替使用reset()方法使用pause()

+0

非常感谢。 –

0

mPlayer.reset();重置你的媒体播放器,这意味着播放器再次启动。使用mPlayer.stop();用于停止媒体播放器或mPlayer.pause();暂停播放器