у меня вопрос android программирование для медиаплеера - PullRequest
0 голосов
/ 27 апреля 2020

Когда мультимедиа уже воспроизводится в фоновом режиме, и вы хотите воспроизвести мультимедиа в другом приложении, я хочу остановить воспроизведение мультимедиа и воспроизведение мультимедиа после получения сигнала от существующего приложения. Другими словами, я хочу обнаружить сигнал, чтобы остановить существующий сигнал воспроизведения мультимедиа, если есть другой сигнал воспроизведения мультимедиа.

Я думаю, это может быть связано с android AUDIOFOCUS_REQUEST_GRANTED, вызывая android requestAudioFocus () Пожалуйста, помогите.

1 Ответ

2 голосов
/ 27 апреля 2020

из документации

прочитайте документацию. это все объясняет.

в OnAudioFocusChangeListener вы можете слушать, когда другое приложение имеет звуковой фокус, и вы можете реагировать на изменения.

например:

AudioManager.OnAudioFocusChangeListener afChangeListener =
  new AudioManager.OnAudioFocusChangeListener() {
    public void onAudioFocusChange(int focusChange) {
      if (focusChange == AudioManager.AUDIOFOCUS_LOSS) {
        // Permanent loss of audio focus
        // Pause playback immediately
        mediaController.getTransportControls().pause();
        // Wait 30 seconds before stopping playback
        handler.postDelayed(delayedStopRunnable,
          TimeUnit.SECONDS.toMillis(30));
      }
      else if (focusChange == AudioManager.AUDIOFOCUS_LOSS_TRANSIENT) {
        // Pause playback
      } else if (focusChange == AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK) {
        // Lower the volume, keep playing
      } else if (focusChange == AudioManager.AUDIOFOCUS_GAIN) {
        // Your app has been granted audio focus again
        // Raise volume to normal, restart playback if necessary
      }
    }
  };

let я знаю, если вам нужно больше разъяснений

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...