【问题标题】:Flutter: Music plays after closing applicationFlutter:关闭应用程序后播放音乐
【发布时间】:2020-05-08 11:24:22
【问题描述】:

我想用flutter做一个音乐播放器。我想,当用户播放音乐并关闭应用程序时,音乐作为服务在后台播放。

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

或者有什么办法吗?

【问题讨论】:

    标签: flutter dart service


    【解决方案1】:

    要在应用处于后台时停止音乐,您需要将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());
      }
    

    【讨论】:

    【解决方案2】:

    也许audio_service 会满足您的需求。从它的描述来看,它实际上应该正是您要搜索的内容。

    此插件封装了您现有的音频代码以使其在后台运行,并提供回调以允许您的应用响应耳机上的媒体按钮、Android 锁定屏幕和通知、iOS 控制中心、可穿戴设备和安卓汽车。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多