Bouton de lecture / pause du lecteur multimédia Android

Dans mon projet, je joue au fichier de musique dans un lecteur multimédia Android en utilisant le code suivant

MediaPlayer mPlayer = MediaPlayer.create(MyActivity.this, R.raw.myfile); mPlayer.start(); 

Ce qui précède est codé dans le bouton d'ouverture du bouton de lecture. Je souhaite interrompre la lecture en appuyant de nouveau sur le même bouton. I) bouton unique pour lecture / pause. Comment faire cela?

  • ViewPager dans une ScrollView ne défile pas correctement
  • Activité non enregistrée dans le manifeste Lint warning
  • Android Openg GL ES 2 dessine de grosses textures lentement
  • Menu contextuel d'un ListFragment
  • Trouver toutes les classes d'un package dans Android
  • Android - l'aide sendOrderedBroadcast
  • Qu'est-ce que le buildToolsVersion pour Android SDK 24?
  • Pourquoi Android BottomNavigationView ne s'affiche pas?
  • À la recherche d'un bon calendrier datepicker pour Android
  • Appeler setContentView () plusieurs fois
  • Est-il possible de modifier l'indicateur de tabulation de la barre d'action par programme
  • Erreur: Aucun identificateur de ressource trouvé pour l'attribut 'adSize' dans le package 'com.google.example' main.xml
  • 7 Solutions collect form web for “Bouton de lecture / pause du lecteur multimédia Android”

    Vous pouvez utiliser le simple if-check pour gérer la pause. Essaye ça:

     if(mPlayer.isPlaying()){ mPlayer.pause(); } else { mPlayer.start(); } 

    Essayez ceci ::

     final Button bPlay = (Button) findViewById(R.id.bPlay); MediaPlayer song1 = MediaPlayer.create(tutorialFour.this, R.raw.fluet); Button bStop = (Button) findViewById(R.id.bStop); bPlay.setWidth(10); song1.setOnCompletionListener(new OnCompletionListener() { public void onCompletion(MediaPlayer mp) { bPlay.setText("Play"); } }); bPlay.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub b = true; if (bPlay.getText().equals("Play") && b == true) { song1.start(); bPlay.setText("Pause"); b = false; } else if (bPlay.getText().equals("Pause")) { x = song1.getCurrentPosition(); song1.pause(); bPlay.setText("Resume"); Log.v("log", "" + x); b = false; } else if (bPlay.getText().equals("Resume") && b == true) { song1.seekTo(x); song1.start(); bPlay.setText("Pause"); b = false; } } }); 

    À l'intérieur du bouton, cliquez sur Vérifier pour mediaPlayer.isPlaying() . Cela retournera vrai si le lecteur multimédia joue autrement.

    Alors maintenant, avec cette valeur de drapeau, vous pouvez faire une instruction if et passer à la lecture ou à faire une pause comme celle-ci,

     button.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { if (mediaplayer.isPlaying()) { mediaplayer.pause(); } else { mediaplayer.start(); } } }); 

    Le code ci-dessous prend en charge votre événement de clic de jeu / pause avec les boutons avant et arrière pour rechercher vers l'avant et vers l'arrière sur la barre de recherche fournie (qui est synchronisée avec la piste multimédia). Actuellement, il joue juste une chanson. Cependant, vous pouvez y ajouter. C'est mon premier lecteur multimédia utilisant la mediaplayer class , donc vous pourriez le trouver un peu primitif. Cependant, si vous avez besoin, vous pouvez également consulter les exemples VideoView . Il est apparemment plus facile avec VideoView que la console multimédia standard est déjà présent sous la forme de widgets prédéfinis. De sorte que la conception du lecteur est beaucoup plus facile.

     package in.org.Test; import android.app.Activity; import android.media.MediaPlayer; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageButton; import android.widget.ProgressBar; import android.widget.SeekBar; import android.widget.Toast; public class Test12Activity extends Activity implements OnClickListener,Runnable { private static final String isPlaying = "Media is Playing"; private static final String notPlaying = "Media has stopped Playing"; private SeekBar seek; MediaPlayer player = new MediaPlayer(); private ImageButton plus,minus; ImageButton im; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); plus = (ImageButton) findViewById(R.id.imageButton2); minus = (ImageButton) findViewById(R.id.imageButton3); player = MediaPlayer.create(this, R.raw.sound2); player.setLooping(false); im = (ImageButton) this.findViewById(R.id.imageButton1); seek = (SeekBar) findViewById(R.id.seekBar1); seek.setVisibility(ProgressBar.VISIBLE); seek.setProgress(0); seek.setMax(player.getDuration()); new Thread(this).start(); im.setOnClickListener(this); player.start(); Toast.makeText(this, isPlaying, Toast.LENGTH_LONG).show(); plus.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { int cu = player.getCurrentPosition(); player.seekTo(cu-5000); }}); minus.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) {int cu = player.getCurrentPosition(); player.seekTo(cu+5000);}}); } @Override public void onClick(View arg0) { if (arg0.getId() == R.id.imageButton1) { if(player.isPlaying()) { player.pause(); Toast.makeText(this, notPlaying, Toast.LENGTH_LONG).show(); ImageButton img1=(ImageButton) this.findViewById(R.id.imageButton1); img1.setImageResource(R.drawable.play); } else { player.start(); Toast.makeText(this, isPlaying, Toast.LENGTH_LONG).show(); ImageButton img1=(ImageButton) this.findViewById(R.id.imageButton1); img1.setImageResource(R.drawable.pause); } } } @Override public void run() { int currentPosition= 0; String s; int total = player.getDuration(); while (player!=null && currentPosition<total) { try { Thread.sleep(1000); currentPosition= player.getCurrentPosition(); } catch (InterruptedException e) { return; } catch (Exception e) { return; } seek.setProgress(currentPosition); } } } 
      MediaPlayer mpE = MediaPlayer.create(GuitarTuner.this, R.raw.test2 ); play.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { if (mpE.isPlaying()) { mpE.pause(); play.setBackgroundResource(R.drawable.play); } else { mpE.start(); play.setBackgroundResource(R.drawable.pause); } } }); 

    Pour faire une pause sur le Mediaplayer :

     Mediaplayer.pause(); length = Mediaplayer.getCurrentPosition(); 

    Et pour reprendre le joueur du poste où il s'est arrêté récemment, il est fait par:

     Mediaplayer.seekTo(length); Mediaplayer.start(); 

    Classe publique MainActivity étend AppCompatActivity {

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

    // la chanson a déjà été enregistrée dans le dossier brut. Le nom de la chanson est mylife (c'est un fichier mp3) Final MediaPlayer mMediaPlayer = MediaPlayer.create (MainActivity.this, R.raw.mylife);

      // Play song Button playButton = (Button) findViewById(R.id.play); playButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { mMediaPlayer.start(); // no need to call prepare(); create() does that for you } }); // Pause song Button pauseButton = (Button) findViewById(R.id.pause); pauseButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { mMediaPlayer.pause(); } }); // Stop song - when you stop a song, you can't play it again. First you need to prepare it. Button stopButton = (Button) findViewById(R.id.stop); stopButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { mMediaPlayer.stop(); mMediaPlayer.prepareAsync(); } }); } 

    }

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.