正在开发音频播放器,我想将单个项目传递给队列,我需要做的是将参数传递给控制器,然后从那里我能够将它传递给 page_manager,然后,我能够添加它到队列中,这样做效果很好,但我遇到的问题是,当我注释掉 _loadPlaylist() 和 hot-reload 时,播放器将继续显示加载指示器,但始终显示歌曲名称但音乐将继续加载
message_player 控制器
我在里面调用了下面的方法initState()
addMessageToPlayer({
required String id,
required String title,
required String album,
required String url,
required String artUri,
}) {
final pageManager = getIt<PageManager>();
pageManager.addMessageToPlayer(
id: id,
title: title,
album: album,
url: url,
artUri: artUri,
);
}
page_manager.dart
在里面Init()
我注释掉了_loadPlaylist()
因为我不需要它
void init() async {
// await _loadPlaylist();
_listenToPlaybackState();
_listenToCurrentPosition();
_listenToBufferedPosition();
_listenToTotalDuration();
_listenToChangesInSong();
_listenToChangesInPlaylist();
}
这是将控制器中的项目添加到队列中的函数
addMessageToPlayer(
{required String id,
required String title,
required String album,
required String url,
required String artUri}) {
// print('ID came ${id}');
// print('TITLE came ${title}');
// print('ALBUM came ${album}');
// print('URL came ${url}');
// print('ARTURL came ${artUri}');
final mediaItem = MediaItem(
id: id,
title: title,
album: album,
extras: {
'url': url,
'artUri': artUri,
},
);
_audioHandler.addQueueItem(mediaItem);
}
注意:如果_loadPlaylist()
不注释掉,它会很好用
请问我错过了什么?