Flutter使用本地资源播放音频遇play()方法未找到问题求助
解决audioplayers包中play()函数未找到的问题
问题出在audioplayers版本迭代后的API变更:从1.0.0版本开始,原有的AudioCache类被分离到了单独的扩展包,且主包的API逻辑也发生了变化,你当前的写法是旧版本的用法,不适用于新版包。
解决方法(推荐使用新版API)
直接使用AudioPlayer类配合AssetSource来播放本地音频,无需依赖AudioCache:
- 修改代码中的播放逻辑:
onPressed: () async { final player = AudioPlayer(); // 播放asset中的音频文件 await player.play(AssetSource('note1.wav')); }
- 确保你的音频文件已正确配置在
pubspec.yaml中(假设音频放在assets目录下):
flutter: assets: - assets/note1.wav
备选方案(继续使用AudioCache)
如果坚持要用AudioCache,需要额外添加audioplayers_cache依赖到pubspec.yaml:
dependencies: audioplayers: ^latest_version audioplayers_cache: ^latest_version
然后修改导入语句:
import 'package:audioplayers_cache/audioplayers_cache.dart';
之后就可以正常调用player.play("note1.wav")了。
内容的提问来源于stack exchange,提问作者Mikelenjilo
相关产品推荐
相关产品推荐

