如何暂停特定应用程序的Media Player?

问题描述 投票:0回答:1

我需要暂停特定应用程序的播放器-例如Spotify。但是如果有其他玩家在玩,我想继续玩,只暂停Spotify。有什么功能我该怎么做?

我最终有可能暂停所有应用程序,但不能暂停特定的应用程序。

或者其他帮助是,如果我可以识别当前正在播放Media Player的应用程序,并且如果它是Spotify,那么我可以暂停所有应用程序,但是我知道我只会停止Spotify。

欢呼声

android android-audiomanager
1个回答
0
投票

[没有办法广泛停止特定的应用播放器音频如果他们实现了直接由硬件实现的音乐API然后,如果您在应用中播放音乐,则它会自动停止使用AudioManager。如果其他应用程序播放音频,您还可以获取回调。

 private OnAudioFocusChangeListener focusChangeListener =
     new OnAudioFocusChangeListener() {
         public void onAudioFocusChange(int focusChange) {
                             AudioManager am =(AudioManager)getSystemService(Context.AUDIO_SERVICE);
                    switch (focusChange) {

                           case (AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK) :
                           // Lower the volume while ducking.
                           mediaPlayer.setVolume(0.2f, 0.2f);
                           break;
                           case (AudioManager.AUDIOFOCUS_LOSS_TRANSIENT) :
                           pause();
                           break;

                           case (AudioManager.AUDIOFOCUS_LOSS) :
                           stop();
                           ComponentName component =new ComponentName(AudioPlayerActivity.this,MediaControlReceiver.class);
                           am.unregisterMediaButtonEventReceiver(component);
                           break;

                           case (AudioManager.AUDIOFOCUS_GAIN) :
                           // Return the volume to normal and resume if paused.
                           mediaPlayer.setVolume(1f, 1f);
                           mediaPlayer.start();
                           break;
                           default: break;
        }
    }
};
© www.soinside.com 2019 - 2024. All rights reserved.