2016-12-02 176 views
2

我想寫一個程序,可以暫停和android中發揮每一個媒體播放器。我如何設置這個程序的優先級高於其他?我還寫了下面的代碼如何暫停和播放音樂播放器

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(); 
     } 

它可以暫停每個球員,但我不知道如何再次播放它們。我可以打一些球員,但不是所有人,我不知道爲什麼?

+0

您應該音頻重點https://developer.android.com/training/managing-audio/audio-focus.html#RequestFocus – Rahil2952

回答

1

有一齣戲一個onClick和暫停按鈕

你必須找到一個方法來檢索所有的MediaPlayer對象。

暫停:

mMediaPlayer.pause(); // Pause the MediaPlayer 

播放:

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

**請有onPrepare方法以及

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

而且,這裏是爲你一個參考: https://github.com/naman14/Timber

這個開源音樂應用程序應該有你最需要創建一個音樂播放器或等,你就可以理解它是如何工作的相關資源。

此外,你提供的代碼不會讓我來幫助你識別任何問題,除非你還沒有實現的MediaPlayer對象。

這裏的原因:Difference between Audiomanager and MediaPlayer

- 編輯 -

這裏是你如何可以通過MediaPlayerRegistry停止其他MediaPlayer的實例。

Android: How to stop other active media players?

+0

閱讀感謝ü的幫助。 但我不理解正確的ü發送 可以在代碼暫停和播放節目了我的應用程序的代碼? 我的意思是,每當我(例如)推puase和我的應用程序播放按鈕,我希望所有其他的媒體播放器出我的應用程序(這是當時運行)被pused或播放.... 做你的代碼做到了嗎? 或者這隻適用於我的應用程序內部? –

+0

@shahabmohseni都能跟得上它沒有。再次查看我的答案,我添加了停止其他媒體播放器的解決方案。 – Nicholas

+0

我想要恢復其他媒體播放器 –