微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flutter - 音频播放器错误:未处理的异常:无法加载资产:然后“<异步暂停>”

如何解决Flutter - 音频播放器错误:未处理的异常:无法加载资产:然后“<异步暂停>”

我正在尝试制作一些点击时会发出声音的按钮,我确实删除了软件包并安装了另一个软件包,尝试了Flutter clean,重新启动了工作室很多次,但似乎什么也没发生,它一直给我错误[ERROR:Flutter/lib/ui/ui_dart_state.cc(186)] 未处理的异常:无法加载资产:assets/audiofolder/assets_note4.wav E/Flutter (8639): #0 PlatformAssetBundle.load (package:Flutter/src/services/asset_bundle.dart:227:7) E/颤振(8639): E/Flutter(8639):#1 AudioCache._fetchAsset(包:audioplayers/audio_cache.dart:75:12) E/颤振(8639): E/Flutter (8639): #2 AudioCache.fetchToMemory (package:audioplayers/audio_cache.dart:82:24) E/颤振(8639): E/Flutter (8639): #3 AudioCache.load (package:audioplayers/audio_cache.dart:97:31) E/颤振(8639): E/Flutter (8639): #4 AudioCache.getAbsoluteUrl (package:audioplayers/audio_cache.dart:192:17) E/颤振(8639): E/Flutter (8639): #5 AudioCache.play (package:audioplayers/audio_cache.dart:122:18) E/颤振(8639): E/Flutter (8639):每当我点击一个按钮

import 'package:audioplayers/audio_cache.dart';

void main() => runApp(MaterialApp(
      home: Home(),));

class Home extends StatefulWidget {
  @override
  _HomeState createState() => _HomeState();
}

class _HomeState extends State<Home> {
  void playLocalAsset(int x) {
    final player = AudioCache();
    player.play('audiofolder/assets_note$x.wav'); // error that i can't solve
  }

  Expanded buttonKey({Color color,int number}) {
    return Expanded(
      child: FlatButton(
        color: color,onpressed: () {
          playLocalAsset(number);
        },),);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.stretch,children: [
            buttonKey(color: Colors.red,number: 1),buttonKey(color: Colors.yellow,number: 2),buttonKey(color: Colors.orange,number: 3),buttonKey(color: Colors.green,number: 4),buttonKey(color: Colors.teal,number: 5),buttonKey(color: Colors.blue,number: 6),buttonKey(color: Colors.purple,number: 7),],);
  }
}

这是 pubspec.yaml 文件

description: A new Flutter application.

publish_to: 'none' 
version: 1.0.0+1

environment:
  sdk: ">=2.7.0 <3.0.0"

dependencies:
  Flutter:
    sdk: Flutter
  cupertino_icons: ^1.0.2
  audioplayers: ^0.18.3


dev_dependencies:
  Flutter_test:
    sdk: Flutter

Flutter:

  uses-material-design: true
  assets:
    - audiofolder/
 

解决方法

如果 audiofolder 不在 assets or another folder 内,您只需输入 filename

例如这是我的代码

 return AudioCache().play('audios/zapsplat_multimedia_game_sound_basic_digital_retro_incorrect_error_negative_005_40466.mp3');

这是pubspec.yaml

assets:
- assets/

就我而言,音频文件在 assets/audios 中,因此您必须在没有 assets/ 的情况下键入,因为资产已在 pubspec.yaml 中初始化

希望能帮到你

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。