У меня есть класс менеджера с массивом MediaPlayer
экземпляров, который является менеджером для воспроизведения аудио в моем приложении.До сих пор он отлично работал в фоновом режиме и продолжал воспроизводить аудио, когда устройство заблокировано.
Теперь, начиная с устройств Oreo, воспроизведение звука прекращается.Существует ли простой способ заставить устройство поддерживать работу экземпляра MediaPlayer, который воспроизводит звук?Я имею в виду простой способ без использования сервисов или без создания пользовательских панелей на панели уведомлений устройства, которые я нашел здесь сейчас при переполнении стека.Наверное, должно быть проще.
Это код, который я использовал для воспроизведения звука до сих пор:
MediaPlayer mPlayer = new MediaPlayer();
AssetFileDescriptor fileDescriptor = ApplicationContextProvider.getContext().getAssets().openFd(res.getUrl());
long start = fileDescriptor.getStartOffset();
long end = fileDescriptor.getLength();
mPlayer.setDataSource(fileDescriptor.getFileDescriptor(), start, end);
mPlayer.prepareAsync();
mPlayer.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
mPlayer.setLooping(loop);
fileDescriptor.close();
Большое спасибо