在我的应用程序中,我正在循环播放音乐(本地),除非用户停止它,否则它会连续播放。我正在使用音频播放器包。
Future playLoop(String filePath) async {
player.stop();
player = await cache.loop(filePath);
}
目前,当应用程序最小化时,音乐不会停止。我想要实现的功能是,当应用程序最小化时,它应该停止在后台播放音乐。
提前致谢。
在我的应用程序中,我正在循环播放音乐(本地),除非用户停止它,否则它会连续播放。我正在使用音频播放器包。
Future playLoop(String filePath) async {
player.stop();
player = await cache.loop(filePath);
}
目前,当应用程序最小化时,音乐不会停止。我想要实现的功能是,当应用程序最小化时,它应该停止在后台播放音乐。
提前致谢。
解决方案:
@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:应用程序仍然托管在颤振引擎上,但与任何主机视图分离。