You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS16及以上使用speech_to_text包出现SpeechRecognitionError问题求助

解决iOS16+模拟器中speech_to_text包的error_retry错误
  • 检查权限配置完整性
    iOS16+对隐私权限校验更严格,确保Info.plist中正确添加权限描述,且描述需明确用途:

    <key>NSSpeechRecognitionUsageDescription</key>
    <string>需要语音识别功能将语音转换为文本</string>
    <key>NSMicrophoneUsageDescription</key>
    <string>需要访问麦克风录制语音</string>
    
  • 重置模拟器隐私权限缓存
    模拟器权限缓存可能导致异常,操作步骤:

    1. 打开模拟器「设置」-「通用」-「还原」
    2. 选择「还原位置与隐私」
    3. 重启模拟器后重新运行App,重新授权麦克风和语音识别权限
  • 升级speech_to_text到最新版本
    旧版本可能未适配iOS16+的API变化,执行命令更新:

    flutter pub upgrade speech_to_text
    

    之后清理项目缓存:

    flutter clean
    flutter pub get
    
  • 切换真机验证问题
    iOS模拟器的语音识别功能存在局限性,部分API实现与真机有差异,建议用iOS16+真机测试,确认是否为模拟器专属问题。

  • 手动触发权限请求
    避免依赖包自动请求权限,在初始化语音识别前手动申请权限:

    import 'package:permission_handler/permission_handler.dart';
    
    Future<void> requestRequiredPermissions() async {
      await Permission.microphone.request();
      await Permission.speechRecognition.request();
    }
    

    确保权限请求成功后再初始化speech_to_text实例。

内容的提问来源于stack exchange,提问作者Zahoor Illahi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 09:12:01