2016-12-02 3 views
2

Je veux écrire un programme qui peut mettre en pause et lire tous les lecteurs multimédias dans Android. Comment puis-je définir la priorité de ce programme plus haut que les autres? aussi j'ai écrit le code suivantcomment faire une pause et lire le lecteur de musique

public static final String SERVICECMD = "com.android.music.musicservicecommand"; 
    public static final String CMDNAME = "command"; 
    public static final String CMDPAUSE = "pause"; 
    public static final String CMDPLAY = "play"; 
    public static final String CMDTOGGLEPAUSE = "togglepause"; 

    AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 

     if (mAudioManager.isMusicActive()) { 

      Intent i = new Intent(SERVICECMD); 
      i.putExtra(CMDNAME, CMDPAUSE); 
      MainActivity.this.sendBroadcast(i); 
      Toast.makeText(this, "media player is pause!", Toast.LENGTH_LONG).show(); 

     } 
     if (!mAudioManager.isMusicActive()) { 
      Intent i = new Intent(SERVICECMD); 


      i.putExtra(CMDNAME, CMDPLAY); 
      MainActivity.this.sendBroadcast(i); 

      Toast.makeText(this, "media player is play!", Toast.LENGTH_LONG).show(); 
     } 

et il peut mettre en pause tous les joueurs mais je ne sais pas comment les jouer à nouveau. Je peux jouer quelques joueurs mais pas tous je ne sais pas pourquoi ???

+0

Vous devriez lire sur le focus audio https://developer.android.com/training/managing-audio/audio-focus.html#RequestFocus – Rahil2952

Répondre

1

Vous avez déjà un onClick pour une lecture et pause bouton

Vous devez trouver un moyen de récupérer tous les objets MediaPlayer.

Interrompre:

mMediaPlayer.pause(); // Pause the MediaPlayer 

Jouer:

mMediaPlayer.prepare(); // Prepares the MediaPlayer to play a song 

** S'il vous plaît ont une méthode OnPrepare ainsi

mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
      @Override 
      public void onPrepared(MediaPlayer mediaPlayer) { 
       mediaPlayer.start(); // play! 
} 

De plus, voici une référence pour vous: https://github.com/naman14/Timber

Cette application de musique open source devrait avoir la plupart des ressources pertinentes dont vous avez besoin pour créer un contrôleur de lecteur de musique ou etc. Vous serez en mesure de comprendre comment cela fonctionne.

En outre, le code que vous avez présenté ne me permettra pas de vous aider à identifier les problèmes, sauf si vous n'avez pas implémenté l'objet MediaPlayer.

Voici pourquoi: Difference between Audiomanager and MediaPlayer

- EDIT -

Voici comment vous pouvez arrêter d'autres instances de MediaPlayer via le MediaPlayerRegistry.

Android: How to stop other active media players?

+0

thank u pour votre aide. mais je ne comprends pas correctement le code que vous avez envoyé ce code peut-il mettre en pause et lire les programmes de mon application? je veux dire, chaque fois que je (par exemple) poussez le bouton puase et play dans mon application, je veux que tous les autres lecteurs multimédias de mon application (qui tournent à ce moment-là) soient pus ou joués .... votre code le fait? ou est-ce seulement pour l'intérieur de mon application? –

+0

@shahabmohseni non, il ne le fait pas. Découvrez ma réponse à nouveau, j'ai ajouté la solution à l'arrêt d'autres médias. – Nicholas

+0

Je veux reprendre d'autres media pelyer –