我想用颤音做一个音乐播放器。我想,当用户播放音乐并关闭应用程序时,音乐作为服务在后台播放。
我在googled上搜索并发现,使用这些颤音库是不可能的(意味着音乐播放器作为后台服务工作)?是真的吗?
或者有什么办法可以做到?
发布于 2020-05-08 11:44:01
若要在应用程序处于后台时停止音乐,您需要将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());
}发布于 2020-05-08 11:42:52
也许服务能满足你的需要。从它的描述来看,它实际上应该是你正在寻找的东西。
这个插件包围了你现有的音频代码,允许它在后台运行,它还提供回调功能,让你的应用程序能够响应耳机上的媒体按钮、安卓锁定屏幕和通知、iOS控制中心、可穿戴设备和安卓汽车。
https://stackoverflow.com/questions/61678052
复制相似问题