我想让音乐播放器动摇。我想当用户播放音乐并关闭应用程序时,音乐作为服务在后台播放。
我用Google搜索并发现了这些颤振库,这是不可能的(意味着音乐播放器作为后台服务工作)? 是真的吗?
或者有没有办法做到这一点?
也许audio_service会适合您的需求。根据其描述,它实际上应该正是您要搜索的内容。
此插件会包装您现有的音频代码,以使其在后台运行,并且提供回调,使您的应用可以响应耳机,Android锁定屏幕和通知,iOS控制中心,可穿戴设备和Android上的媒体按钮自动。
要在应用程序处于后台运行时停止音乐,您需要将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());
}