我使用的是 audio_service 0.18.0-beta.0。 我正在使用全局变量并在 runApp() 之前对其进行初始化,如下所示:
late AudioHandler audioHandler;
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
audioHandler = await AudioService.init(
builder: () => AudioPlayerTask(), config: AudioServiceConfig(androidNotificationChannelId: 'com.ryanheise.myapp.channel.audio', androidNotificationChannelName: 'Audio playback', androidStopForegroundOnPause: true, androidNotificationOngoing: true, notificationColor: kSoftOrange));
我的应用有一个屏幕 PlaylistWidget()
可以播放音乐并使用后台服务。在它的 dispose 方法上,我调用 AudioHandler's super.stop()
来停止后台服务,否则我创建的所有 Player (JustAudio) 实例也会在后台播放(不想要的行为)。现在,当我再次打开 PlayListWidget() 时,后台服务已死。如何再次初始化?