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

Flutter中使用audioplayers加载音频资源失败问题求助

解决Flutter中audioplayers加载音频资源失败的问题

我在Android平台的Flutter项目中,尝试使用audioplayers插件实现扫码后播放提示音的功能,但运行时抛出异常:

Unhandled Exception: Unable to load asset: "assets/asset/sound/beep.mp3"

我的配置与代码

pubspec.yaml配置

dependencies:
  flutter:
    sdk: flutter
  flutter_overlay_loader: ^2.0.0
  provider: ^6.0.0
  collection: ^1.15.0
  permission_handler: ^8.0.0
  intl: ^0.17.0
  
  cupertino_icons: ^1.0.2
  http: ^1.1.2
  flutter_secure_storage: ^9.0.0
  barcode_scan2: ^4.3.0
  audioplayers: ^5.2.1

dev_dependencies:
  flutter_test:
    sdk: flutter

  flutter_lints: ^2.0.0

flutter:
  fonts:
    - family: Poppins
      fonts:
        - asset: asset/fonts/Poppins-Regular.ttf
        - asset: asset/fonts/Poppins-Medium.ttf
          weight: 500

  uses-material-design: true
  assets:
    - asset/images/
    - asset/images/audit/
    - asset/images/inquiry/
    - asset/images/common_icon/
    - asset/images/bottomNavigation/
    - asset/images/floatingButton/
    - asset/json/user/
    - asset/sound/

资源目录结构

根目录下的asset文件夹包含以下子目录:

  • asset/fonts/
  • asset/images/
  • asset/json/
  • asset/sound/
    • beep.mp3

音频调用代码

void handleBarcodeScan() async {
    var result = await BarcodeScanner.scan();
    print(result.rawContent);
    if (result.rawContent.isNotEmpty) {
      // Play beep sound
      AudioPlayer audioPlayer = AudioPlayer();
      await audioPlayer.play(AssetSource('asset/sound/beep.mp3'));
    }
    handleAddButtonPress(
      barcode: result.rawContent,
      inventoryDetails: widget.inventoryDetails,
    );
  }

解决方案

1. 修正资源调用路径

报错显示系统在寻找assets/asset/sound/beep.mp3,这是因为AssetSource会自动为路径添加assets/前缀,导致与你配置的asset/sound/路径重复。将调用代码中的路径修改为:

await audioPlayer.play(AssetSource('sound/beep.mp3'));

2. 确保pubspec配置生效

修改pubspec.yaml后,执行以下命令更新Flutter资源索引:

flutter pub get

3. 检查文件大小写与拼写

Android系统对文件路径大小写敏感,确认beep.mp3的文件名和路径拼写完全一致,无大小写错误(例如不要写成Beep.mp3)。

4. 清理缓存重新编译

如果以上步骤无效,清理Flutter缓存后重新运行项目:

flutter clean
flutter pub get
flutter run

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 05:05:37