2017-06-03 119 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();暫停播放器