暂停/恢复其他/系统的MediaPlayer一段时间

时间:2018-10-08 10:41:20

标签: android android-mediaplayer android-audiomanager

我的一个应用程序中有一个要求,我需要在单击按钮时播放音频一会儿。 现在出现情况,如果用户已经在设备上播放音乐,那么我需要暂停该音乐播放器以播放声音,并且在释放MediaPlayer对象之后,我想恢复其他应用的(或至少系统的)音乐播放器。

我设法做到的是获得音频焦点,如下所示-

AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
     if (am!=null){
         am.requestAudioFocus(new AudioManager.OnAudioFocusChangeListener() 
    {
@Override
public void onAudioFocusChange(int focusChange) {

}},
AudioManager.STREAM_MUSIC,
AudioManager.AUDIOFOCUS_GAIN);
  }

但是此代码段完全停止了其他应用程序的音乐播放器,并且在释放我的MediaPlayer对象AudioService之后,并没有将焦点重新分配给系统的音乐播放器。

2 个答案:

答案 0 :(得分:1)

您可以使用此代码。有关onAudioFocusChangeListener

的更多信息
sensible = ds.Var_1 * Dataset_X * ds.Var_2
latent = ds.Var_1 * Dataset_Y * ds.Var_3
Heat = xr.concat(
    [sensible, latent],
    dim=pd.Index(['sensible','latent'],name='Energy_type'))
ds['Heat'] = Heat

答案 1 :(得分:0)

使用此:

       public void musicPause() {
        AudioManager mAudioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);

        if (mAudioManager.isMusicActive()) {

            Intent i = new Intent("com.android.music.musicservicecommand");

            i.putExtra("command", "pause"); // you can give command here play,pause,resume and stop
            playVideo.this.sendBroadcast(i); // playVideo is my Activity name
        }
    }