2017-06-03 2 views
0

Je suis en streaming en utilisant MediaPlayer le problème est qu'il ne reprend pas lorsque l'utilisateur revient à l'interrupteur il joue juste au début chaque fois que l'utilisateur revient, Merci j'ai vraiment besoin de votre aide:)MediaPlayer continue de diffuser après une pause 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

Copie possible de [Android 2.2 MediaPlayer fonctionne correctement avec une URL SHOUTcast mais pas avec l'autre] (https://stackoverflow.com/questions/8681550/android-2-2-mediaplayer-is -travailler-bien-avec-un-shoutcast-url-mais-non-avec-le) –

Répondre

0

au lieu d'utiliser l'utilisation de la méthode reset()pause()

+0

Merci beaucoup. –

0

mPlayer.reset(); réinitialise votre lecteur multimédia, ce qui signifie que le lecteur redémarre.utilisez mPlayer.stop(); pour arrêter le lecteur multimédia ou mPlayer.pause(); pour mettre en pause le lecteur