Flutter引入audioplayers后报Kotlin错误无法编译,无法触发用户操作声音告警求替代
解决方案与推荐包
你遇到的构建报错是旧版本audioplayers的Kotlin版本不兼容问题,0.20.1版本要求安卓项目的Kotlin版本至少为1.5.31,若不想修改现有项目配置,可选择以下更适配短提示音播放场景、兼容性更好的Flutter包:
- flutter_beep
专门为系统级短提示音播放设计的轻量包,无需导入自定义音频资源,直接调用系统自带的成功/错误提示音,几乎不会产生构建冲突。
引入方式:在pubspec.yaml中添加依赖flutter_beep: ^1.0.0
调用示例:// 播放操作成功提示音 FlutterBeep.playSysSound(AndroidSoundIDs.TONE_PROP_ACK); // 播放操作失败提示音 FlutterBeep.playSysSound(AndroidSoundIDs.TONE_PROP_NACK); - audioplayers_lite
audioplayers的精简优化版本,移除了长音频、后台播放等冗余功能,兼容低版本Kotlin项目配置,API用法和原版audioplayers基本一致,学习成本低。
引入方式:在pubspec.yaml中添加依赖audioplayers_lite: ^1.0.3
调用示例:final AudioPlayer audioPlayer = AudioPlayer(); playLocalTip(String path) async { await audioPlayer.play(AssetSource(path), isLocal: true); } - just_audio
目前Flutter生态维护最活跃的音频播放库,兼容性、稳定性都优于旧版audioplayers,适合后续有扩展音频播放需求的场景。
引入方式:在pubspec.yaml中添加依赖just_audio: ^0.9.36
调用示例:final AudioPlayer audioPlayer = AudioPlayer(); playCustomTip() async { await audioPlayer.setAsset('assets/success_tip.mp3'); await audioPlayer.play(); }
如果仍想继续使用audioplayers 0.20.1,可以修改安卓项目根目录build.gradle中的ext.kotlin_version参数至1.6.10及以上,同步项目后即可解决Kotlin相关构建报错。
内容的提问来源于stack exchange,提问作者OguzKaanAkyalcin
相关产品推荐
相关产品推荐

