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

使用Expo+Google Speech-to-Text本地音频转写为空问题求助

Google Speech-to-Text API 本地音频Base64转写空结果解决方法
  • 检查Base64编码有效性
    确保编码后的字符串完整无截断,不要添加data:audio/m4a;base64,这类前缀,API仅接受纯Base64文本。可以将Base64解码回本地文件,用播放器验证是否能正常播放,确认编码过程未损坏音频内容。

  • 匹配音频配置与API要求
    Google Speech-to-Text需要明确的音频参数配置,尤其是m4a格式(通常为AAC编码),请求中必须指定正确的编码、采样率和语言代码:

    {
      "audio": {
        "content": "你的Base64字符串"
      },
      "config": {
        "encoding": "AAC",
        "sampleRateHertz": 44100, // 替换为音频实际采样率
        "languageCode": "zh-CN" // 替换为目标语言代码
      }
    }
    

    可以用ffmpeg -i 你的音频文件.m4a命令查看音频的采样率、编码格式等参数,确保配置完全匹配。

  • 规范本地音频读取方式
    在Expo环境中,必须用二进制模式读取音频文件生成Base64:

    import * as FileSystem from 'expo-file-system';
    
    const getBase64Audio = async (uri) => {
      return await FileSystem.readAsStringAsync(uri, { encoding: 'base64' });
    };
    

    避免用文本模式读取导致的内容损坏。

  • 排查请求结构与权限
    确认请求为POST方法,Content-Type设置为application/json;同时检查API密钥/服务账号权限,确保Base64方式的请求未被配额或权限拦截。

  • 测试最简请求
    用一段10秒内的清晰语音音频编码成Base64,构造最简请求发送给API,排除长音频或复杂内容的干扰,验证核心功能是否正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 09:13:23