Игра ExoPlayer на переднем плане - PullRequest
1 голос
/ 24 января 2020

Я использую ExoPlayer со стандартным PlayerNotificationManager классом из библиотеки.

Когда я закрываю свое приложение, которое проигрывает musi c с помощью удара, Android полностью убивает его, musi c останавливается, уведомление продолжает отображаться, но кнопки не активны. Можно ли реализовать игру на переднем плане без использования Android Сервис? И если да, то как это сделать? Может быть, у ExoPlayer есть стандартный Сервис, который позволяет это реализовать?

Инициализация игрока:

SimpleExoPlayer exoPlayer = new SimpleExoPlayer.Builder(context, new DefaultRenderersFactory(context))
                .setTrackSelector(new DefaultTrackSelector(context))
                .build();
exoPlayer.setAudioAttributes(audioAttributes);
exoPlayer.setHandleAudioBecomingNoisy(true);

MediaSessionCompat mediaSession = new MediaSessionCompat(context, "Newtone");
MediaSessionConnector mediaSessionConnector = new MediaSessionConnector(mediaSession);
mediaSessionConnector.setPlayer(exoPlayer);

PlayerNotificationManager notificationManager = PlayerNotificationManager
            .createWithNotificationChannel(
                    context, NOTIFICATION_CHANNEL_ID, R.string.app_name, R.string.app_name, NOTIFICATION_ID,
                    mediaDescriptionAdapter, notificationListener);

notificationManager.setPlayer(exoPlayer);
notificationManager.setMediaSessionToken(mediaSession.getSessionToken());
notificationManager.setVisibility(NotificationCompat.VISIBILITY_PUBLIC);
notificationManager.setUseNavigationActionsInCompactView(true);
notificationManager.setPriority(NotificationCompat.PRIORITY_MAX);
notificationManager.setUseChronometer(false);
notificationManager.setFastForwardIncrementMs(0);
notificationManager.setRewindIncrementMs(0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...