开发Flutter文本转语音存储应用遇Android SDK版本错误求助
解决flutter_tts插件要求更高Android SDK版本的问题
你在开发文本转语音Flutter应用时遇到的这个报错,是因为flutter_tts插件对Android最低SDK版本有明确要求,而你的项目默认配置不满足这个条件。下面是具体的解决步骤和相关说明:
快速修复:升级项目最低SDK版本
flutter_tts要求Android项目的最低SDK版本至少为21,你只需要修改项目配置文件就能解决:
- 找到项目中的
android/app/build.gradle文件,路径为:C:\flutter all project\3\master flutter course\delete this file\flutter_application_1\android\app\build.gradle - 打开文件后,定位到
android代码块下的defaultConfig部分,添加或修改minSdkVersion为21:
android { defaultConfig { minSdkVersion 21 } }
- 保存文件后重启Flutter项目,这个错误就会消失。
⚠️ 注意:修改后你的应用将无法在Android SDK版本低于21的设备上运行(也就是Android 5.0以下的系统)。
兼容旧设备的替代方案
如果你的应用需要覆盖更低版本的Android设备,可以去查找flutter_tts的历史版本,选择一个支持更低minSdkVersion的版本使用。找到合适版本后,修改pubspec.yaml中的依赖版本即可。
后续功能实现小提示
解决完SDK版本问题后,你可以继续完善文本转语音和保存功能:
- 在
_MyPageState类中初始化FlutterTts实例:
final FlutterTts _flutterTts = FlutterTts();
- 实现「Speak」按钮的语音播放功能:
onPressed: () async { await _flutterTts.speak(_textController.text); },
- 关于音频保存到本地,你可以结合
path_provider获取设备存储路径,再通过flutter_tts的相关方法(比如setAudioOutputPath)生成并保存音频文件,记得要提前处理Android的存储权限申请。
内容的提问来源于stack exchange,提问作者M.Shahzad
相关产品推荐
相关产品推荐

