Вопрос:
Im, используя этот код, чтобы получить AudioFocus, и он работает нормально с помощью
Android Music приложение (один предустановленный)
int result = audioManager.requestAudioFocus(meService, AudioManager.STREAM_MUSIC,AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
Однако, когда я выпущу его с помощью этого кода
audioManager.abandonAudioFocus(meService);
Приложение Android Music (один предустановленный) не воспроизводится.
если я использую AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK, он работает
но приложение Android Music недостаточно снижает объем.
Как и почему приложение Android Music не возобновляет воспроизведение?
im, используя api8 и используя onAudioFocusChange
Лучший ответ:
После того, как вы пробовали 4 игрока, они не уклоняются. Я мог бы делать что-то неправильно и хотел бы это увидеть. Я отвечаю на свой вопрос, что мы должны жить с этим.
Ответ №1
Этот способ отлично работает для меня.
public class HomeActivity extends Activity implements AudioManager.OnAudioFocusChangeListener { // Other stuff @Override public void onAudioFocusChange(int focusChange) { if (focusChange == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) { Log.i(«HomeActivity», «Audio focus granted.»); }else if (focusChange == AudioManager.AUDIOFOCUS_REQUEST_FAILED) { Log.i(«HomeActivity», «Audio focus failed.»); } } }
Запрос AudioFocus:
private void requestAudioFocus(){ AudioManager am = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE); // Request audio focus for playback am.requestAudioFocus(this, // Use the music stream. AudioManager.STREAM_MUSIC, // Request permanent focus. AudioManager.AUDIOFOCUS_GAIN_TRANSIENT); }
Abandon AudioFocus:
private void abandonAudioFocus(){ AudioManager am = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE); am.abandonAudioFocus(this); }
Надеюсь, это поможет вам.
Ответ №2
Вы должны отпустить его в MediaPlay.onCompleteListener(){}