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

Expo项目Android开发/模拟器模式下expo-speech报错求助

解决Expo Android开发环境下expo-speech的maxSpeechInputLength未定义报错

针对你遇到的仅Android开发/模拟器模式下出现TypeError: Cannot read property 'maxSpeechInputLength' of undefined报错(生产环境正常),可以按以下步骤排查:

  • 清除开发环境缓存
    开发环境的缓存可能导致expo-speech的Native模块未正确加载,执行:

    npx expo start --clear
    

    同时重启Android模拟器,或者在模拟器中清除应用数据。

  • 确保Speech模块初始化完成后再调用
    开发环境中模块加载速度可能慢于生产,建议在调用语音功能前先检查模块可用性:

    import * as Speech from 'expo-speech';
    
    const speak = async (text) => {
      const isAvailable = await Speech.isAvailableAsync();
      if (isAvailable) {
        await Speech.speak(text);
      }
    };
    
  • 重置依赖并调整expo-speech版本
    先恢复被修改的node_modules,重新安装依赖:

    rm -rf node_modules package-lock.json
    npm install
    

    然后尝试调整expo-speech版本,Expo 48兼容的稳定版本可以尝试锁定11.1.0:

    npm install expo-speech@11.1.0
    
  • 重新构建dev-client
    由于使用了expo-dev-client,开发环境的Native构建可能存在缓存问题,执行:

    npx expo prebuild --clean
    npx expo run:android
    

内容的提问来源于stack exchange,提问作者Azael Contramaestre

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 09:13:24