如何解决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 举报,一经查实,本站将立刻删除。