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

如何在Expo应用中集成语音转文本功能?

我刚好在几个Expo项目里做过语音转文本的集成,给你分享几个经过验证的可行方案,分两种场景供你参考:

纯Expo方案(无需修改原生代码)

这是我最推荐的轻量方案,依赖成熟的云端API,完全不用碰Java/Swift代码,生产环境稳定可靠:

  • 核心思路:用Expo官方的expo-av录制音频,再将音频文件上传到Google Speech-to-Text或Watson Speech to Text API完成转写。
  • 具体步骤:
    1. 安装音频录制依赖:npx expo install expo-av
    2. 用Audio.Recorder录制音频,建议保存为FLAC格式(Google和Watson API都对这个格式支持最好,识别准确率高且文件体积小)
    3. 将录制好的音频文件转成Base64编码,或者直接以Blob形式上传到云端API,解析返回的文本结果
  • 注意点:记得提前在对应云服务平台申请API密钥/认证凭证,处理好网络请求的异常情况(比如断网时的重试逻辑)。如果需要实时转写,也可以通过流式上传音频数据的方式实现,Expo的expo-av也支持获取实时音频流。
需要少量原生配置的生产级方案

如果你的需求是实时语音转写或者离线识别,可以选择成熟的React Native原生库,搭配Expo的预构建工具(expo prebuild)来集成,虽然要做一点原生配置,但都是标准化操作:

  • react-native-voice:这是目前社区最成熟的语音识别库,直接调用iOS的SiriKit和Android的Google原生语音服务,支持实时转写和离线识别。
    集成步骤:
    1. 安装依赖:npm install react-native-voice
    2. 运行expo prebuild生成原生项目文件
    3. 配置iOS的Info.plist,添加语音识别和麦克风权限描述:
      <key>NSSpeechRecognitionUsageDescription</key>
      <string>需要访问语音识别功能来转换你的语音为文本</string>
      <key>NSMicrophoneUsageDescription</key>
      <string>需要访问麦克风来录制你的语音</string>
      
    4. 配置Android的AndroidManifest.xml,添加权限:
      <uses-permission android:name="android.permission.RECORD_AUDIO" />
      <uses-permission android:name="android.permission.INTERNET" />
      
    这个库已经被很多生产项目使用,稳定性和兼容性都没问题。
  • Google ML Kit语音转写:如果需要更精准的离线识别,可以选择ML Kit的React Native封装,同样需要通过expo prebuild配置原生项目,适合对离线场景要求高的应用。
方案选择建议
  • 如果你想快速落地、不想维护原生代码,优先选Expo Audio + 云端API,开发成本低,云端服务的识别准确率也有保障;
  • 如果需要实时转写或离线功能,就选react-native-voice或者ML Kit的方案,虽然要做少量原生配置,但属于生产级可靠方案,比那些个人维护的小仓库靠谱得多。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:22:32