音频播放建议用 just_audio,稳定且功能完善。
0. 依赖
dependencies:
just_audio: ^0.9.34
1. 初始化与播放
final player = AudioPlayer();
Future<void> play(String url) async {
await player.setUrl(url);
player.play();
}
2. 暂停 / 停止
player.pause();
player.stop();
3. 进度监听
player.positionStream.listen((pos) {
// pos.inSeconds
});
4. 播放状态监听
player.playerStateStream.listen((state) {
if (state.processingState == ProcessingState.completed) {
// 播放完成
}
});
5. 释放资源
@override
void dispose() {
player.dispose();
super.dispose();
}
6. 常见坑点
- 未 dispose:容易泄露
- 网络错误:setUrl 可能抛异常,需 try/catch
7. 实践清单
- 初始化一次复用
- 监听进度与状态
- dispose 释放资源