0

在我的应用程序中,我正在循环播放音乐(本地),除非用户停止它,否则它会连续播放。我正在使用音频播放器包。

Future playLoop(String filePath) async {
  player.stop();
  player = await cache.loop(filePath);
}

目前,当应用程序最小化时,音乐不会停止。我想要实现的功能是,当应用程序最小化时,它应该停止在后台播放音乐。

提前致谢。

4

1 回答 1

1

解决方案:

@override
  void didChangeAppLifecycleState(AppLifecycleState state) {
    if (state == AppLifecycleState.paused) {
     //stop your audio player
    }else{
      print(state.toString());
    }
  }

 @override
  void initState() {
    super.initState();
    WidgetsBinding.instance.addObserver(this);
  }

它主要有4个状态:

resumed:应用程序可见并响应用户输入。

inactive:应用程序处于非活动状态并且没有接收用户输入。

paused:应用程序当前对用户不可见,不响应用户输入,并且在后台运行。

detached:应用程序仍然托管在颤振引擎上,但与任何主机视图分离。

于 2020-09-19T09:41:45.423 回答