Flutter audio_service切换播放列表后无法自动播放问题求助
问题解决
1. 基础语法错误修正
你合并后的函数里存在一个关键语法问题:pageManager.play只是引用了方法对象,并没有执行调用。正确写法需要加上括号触发方法执行:
void changeAndPlayPlaylist() async { final pageManager = getIt<PageManager>(); pageManager.removeAll(); await pageManager.loadPlaylist2(); pageManager.play(); // 补充括号,调用播放方法 }
2. 确保播放列表加载后的状态同步
如果修正语法后仍无法自动播放,需要检查loadPlaylist2的内部实现:
- 确认该方法加载新列表后,是否将播放器的当前索引设置为0(指向第一个待播放项)。
- 如果
loadPlaylist2内部使用just_audio的setAudioSource方法,要保证该方法被await,确保外部的await pageManager.loadPlaylist2()能等待到列表加载完成。
额外验证点(针对Audio Service场景)
如果基于Audio Service实现,还需确认:
- PageManager的
play()方法是否正确转发了播放指令到Audio Service。 - 新列表加载完成后,Audio Service的播放队列是否已更新,且当前播放位置已指向新队列的首个元素。
内容的提问来源于stack exchange,提问作者elle D
相关产品推荐
相关产品推荐

