Flutter:关闭应用程序后播放音乐

say*_*bir 2 service dart flutter

我想通过颤振制作音乐播放器。我想,当用户播放音乐并关闭应用程序时,音乐作为服务在后台播放。

我用谷歌搜索,我发现,使用这些颤振库,不可能做到(意味着音乐播放器作为后台服务工作)?这是真的吗?

或者有没有办法做到这一点?

Sed*_*ush 6

要在应用程序处于后台时停止音乐,您需要将 绑定Audio PlayerWidgetsBindingObserver以收听应用程序生命周期状态变化。

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();
       }
     }
  }
Run Code Online (Sandbox Code Playgroud)

然后在您的 main.dart 中,您可以将其用作以下内容:

main() async {
   WidgetsFlutterBinding.ensureInitialized();

   runApp(YourApp());

    WidgetsBinding.instance.addObserver(new _Handler());
  }
Run Code Online (Sandbox Code Playgroud)