Flutter: Musi c проигрывается после закрытия приложения - PullRequest
0 голосов
/ 08 мая 2020

Хочу сделать музыкальный c плеер на флаттере. Я хочу, чтобы, когда пользователь воспроизводил музыку c и закрыл приложение, Musi c играет в фоновом режиме в качестве службы. можно ли сделать (значит musi c player работает как фоновая служба)? Это правда?

Или есть способ сделать это?

Ответы [ 2 ]

3 голосов
/ 08 мая 2020

Чтобы остановить musi c, когда приложение находится в фоновом режиме, вам необходимо привязать Audio Player к WidgetsBindingObserver, чтобы прослушивать изменения состояния жизненного цикла приложения.

создать пользовательский class например

 class _Handler extends WidgetsBindingObserver {
    @override
    void didChangeAppLifecycleState(AppLifecycleState state) {
      if (state == AppLifecycleState.resumed) {
         AudioPlayer.resume(); // Audio player is a custom class with resume and pause static methods
       } else {
         AudioPlayer.pause();
       }
     }
  }

, а затем внутри вашего main.dart вы можете использовать его как показано ниже:

main() async {
   WidgetsFlutterBinding.ensureInitialized();

   runApp(YourApp());

    WidgetsBinding.instance.addObserver(new _Handler());
  }
0 голосов
/ 08 мая 2020

Возможно, audio_service подойдет вам. Судя по его описанию, это должно быть именно то, что вы ищете. реагировать на кнопки мультимедиа на гарнитуре, Android экран блокировки и уведомления, iOS центр управления, носимые устройства и Android Авто.

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