Android应用程序暂停/恢复其他音乐播放器应用程序的音乐

在我的Android应用程序中,我使用MediaPlayer类播放不同的mp3文件。

用户正在用默认的音乐应用程序播放他/她自己的音乐。

我要:

  1. 暂停默认音乐应用程序的音乐。
  2. 从我的应用程序开始播放音乐。
  3. 当我的音乐完成播放时,我的应用程序将恢复用户的默认音乐。

我想从我的应用程序中暂停并恢复默认音乐播放器的音乐。

是否有可能做到这一点?

Solutions Collecting From Web of "Android应用程序暂停/恢复其他音乐播放器应用程序的音乐"

以下代码将通过发送广播来暂停默认的MediaPlayer:

AudioManager mAudioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE); if (mAudioManager.isMusicActive()) { Intent i = new Intent("com.android.music.musicservicecommand"); i.putExtra("command", "pause"); YourApplicationClass.this.sendBroadcast(i); } 
 // pause Intent i = new Intent("com.android.music.musicservicecommand"); i.putExtra("command", "pause"); sendBroadcast(i); // play Intent i = new Intent("com.android.music.musicservicecommand"); i.putExtra("command", "play"); sendBroadcast(i); // next Intent i = new Intent("com.android.music.musicservicecommand"); i.putExtra("command", "next"); sendBroadcast(i); // previous Intent i = new Intent("com.android.music.musicservicecommand"); i.putExtra("command", "previous"); sendBroadcast(i); 

有关可用命令的更多信息:

 public static final String SERVICECMD = "com.android.music.musicservicecommand"; public static final String CMDNAME = "command"; public static final String CMDTOGGLEPAUSE = "togglepause"; public static final String CMDSTOP = "stop"; public static final String CMDPAUSE = "pause"; public static final String CMDPLAY = "play"; public static final String CMDPREVIOUS = "previous"; public static final String CMDNEXT = "next"; 

要控制当前播放的音乐,请使用此代码。

  AudioManager mAudioManager = (AudioManager) c.getSystemService(Context.AUDIO_SERVICE); if(mode == Config.MUSIC_NEXT) { KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_NEXT); mAudioManager.dispatchMediaKeyEvent(event); }else if(mode == Config.MUSIC_PLAY){ KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PLAY); mAudioManager.dispatchMediaKeyEvent(event); } else if(mode == Config.MUSIC_PREV){ KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PREVIOUS); mAudioManager.dispatchMediaKeyEvent(event); } 

事实上,这是我使用的所有音乐应用程序的唯一代码。 检查与

  • Google播放音乐。
  • 苹果音乐
  • OnePlus音乐应用程序