У меня есть требование в одном из моих приложений, в котором мне нужно какое-то время проигрывать звук при нажатии кнопки.Теперь наступает случай , если пользователь уже воспроизводит музыку на устройстве, тогда мне нужно приостановить этот музыкальный проигрыватель для воспроизведения моего звука, и после того, как я отпущу свой объект MediaPlayer
, я хочу возобновить работу другого приложения (или, по крайней мере,system's) музыкальный проигрыватель.
Мне удалось получить фокусировку звука, как показано ниже -
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
не возвращает фокус музыкальному проигрывателю системы.