You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter音频播放异常:asset资源加载失败及pubspec配置错误求助

问题原因分析

从报错信息和代码、配置来看,问题集中在三个点:

  1. 资源配置与实际目录不匹配:pubspec.yaml里配置的audio/路径找不到对应物理目录,同时代码引用资源时重复添加assets/前缀,导致系统查找不存在的assets/assets/audio/sound_alarm.mp3路径。
  2. 代码路径冗余:setSourceAsset和AssetSource的参数不需要额外加assets/,Flutter会自动基于pubspec中配置的assets根目录解析路径,重复添加会导致路径错误。
  3. 目录结构可能错误:项目中未正确创建assets/audio目录,或者音频文件未放在指定位置。
解决方案

1. 确认并修正目录结构

确保项目根目录下存在assets/audio文件夹,音频文件的完整路径为:
项目根目录/assets/audio/sound_alarm.mp3

2. 修正pubspec.yaml的assets配置

保证配置缩进正确,指向实际的音频资源目录:

flutter:
  uses-material-design: true
  assets:
    - assets/audio/

注意:assets:必须是flutter:的子项,缩进要与同级配置(如uses-material-design)保持一致。

3. 修正代码中的资源路径

修改play方法,移除路径中的assets/前缀,简化写法:

play() async {
  await player.play(AssetSource('audio/sound_alarm.mp3'));
}

如果需要先设置资源再播放,也可以写成:

play() async {
  await player.setSourceAsset('audio/sound_alarm.mp3');
  player.play();
}

4. 清理缓存并重启项目

执行命令清除Flutter缓存,避免旧配置干扰:

flutter clean

之后重新运行项目:

flutter run

内容的提问来源于stack exchange,提问作者Neel_chodvadiya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 00:53:11