颤动| 使用音频播放器最小化时停止音乐

sn-*_*sn- 1 cross-platform dart flutter flutter-dependencies

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

Future playLoop(String filePath) async {
  player.stop();
  player = await cache.loop(filePath);
}
Run Code Online (Sandbox Code Playgroud)

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

提前致谢。

小智 5

解决方案:

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

它主要有4种状态:

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

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

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

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