2017-03-01 3 views
0

Se il vous plaît dites-moi en fonction d'un exemple comment je peux nettoyer mon MediaPlayer après utilisation.Comment nettoyer mon MediaPlayer après utilisation? -Android Studio

Voici mon code:

public class MainActivity extends AppCompatActivity{ 


     MediaPlayer mp; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 

     } 


    //sound onClick's 
    public void sound1(View view){ 
     mp= MediaPlayer.create(this, R.raw.sound1); 
     mp.start(); 
    } 
    public void sound2(View view){ 
     mp= MediaPlayer.create(this, R.raw.sound2); 
     mp.start(); 
    } 
    public void sound3(View view){ 
     mp= MediaPlayer.create(this, R.raw.sound3); 
     mp.start(); 
    } 
    public void sound4(View view){ 
     mp= MediaPlayer.create(this, R.raw.sound4); 
     mp.start(); 
    } 

} 

Je sais que je dois utiliser mp.release() mais cela ne fonctionne pas si j'écris:

public void sound1(View view){ 
      mp= MediaPlayer.create(this, R.raw.sound1); 
      mp.start(); 
      mp.release(); 
     } 

S'il vous plaît me donner un exemple . Ceci est très important pour moi :)

Répondre

0

Premier point, vous ne devez pas appeler les méthodes start() et release() l'une après l'autre.

Voici comment vous devriez lire et libérer votre lecteur multimédia.

MediaPlayer mp = MediaPlayer.create(this,Uri.parse("android.resource://app/raw/sound")); 
mp.preapare(); 
mp.setOnCompletionListener(new OnCompletionListener() { 
@Override 
public void onCompletion(MediaPlayer mp) 
{ 
    mp.release(); 
} }); 
mp.start();