Приостановить Media Player в случае телефонного звонка или пользователь откроет видео или аудио в другой программе - PullRequest
0 голосов
/ 20 октября 2018

Я хочу приостановить работу мультимедийного проигрывателя, если пользователь использует другую программу для просмотра видео или пользователь получает телефонный звонок, как и любое мультимедийное приложение (YouTube, ...)

MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.song);
mediaPlayer.start();

спасибо

Ответы [ 3 ]

0 голосов
/ 20 октября 2018

MediaPlayer может быть реализован как сервис.Приостановите службу, когда событие происходит с помощью BroadcastReceiver, и вы можете снова возобновить его, используя это.Это будет работать таким образом.

0 голосов
/ 20 октября 2018

Вы должны использовать AudioFocus (https://developer.android.com/guide/topics/media-apps/audio-focus).. Таким образом, вы получите Событие, когда другое Приложение приобретает «Аудиоустройство», чтобы воспроизвести его контент / аудио, и тогда другое Событие будет инициировано, когда этоПриложение перестает играть, и «право собственности» возвращается в ваше приложение.

0 голосов
/ 20 октября 2018

Вам необходимо переопределить методы Android, которые связаны с жизненным циклом приложения для Android

 @Override
    protected void onStop() {
        super.onStop();
        mediaPlayer.stop(); //put your stop criteria here
    }

 @Override
    public void onPause() {
        super.onPause();
        mediaPlayer.pause(); //put your pause criteria here
    }

    @Override
    public void onResume() {
        super.onResume(); 
        mediaPlayer.play(); //put your resume criteria here
    }

Вы можете просто переопределить эти методы, чтобы выполнять свою работу.

...