谷歌语音转文本API调用GCS路径无效及识别结果为空问题咨询
问题排查方案
- 核心问题:编码参数不匹配
你提供的音频录制代码采用MediaRecorder.AudioEncoder.AAC编码、MediaRecorder.OutputFormat.AAC_ADTS输出格式,但是语音识别配置里硬编码了AudioEncoding.LINEAR16编码规则,两者完全不匹配,API无法正常解析音频内容,所以返回空结果集。
解决方法:修改RecognizeRequestHandler类中RecognitionConfig的编码配置,将.setEncoding(AudioEncoding.LINEAR16)替换为.setEncoding(AudioEncoding.AAC),谷歌语音转文本原生支持AAC编码解析。 - 确认GCS路径全量修改
你贴出的RecordController代码中GCS_URL变量仍然是gc://summaryapp/,如果实际运行代码没有同步修改该变量值为gs://summaryapp/,即使局部调整了路径,业务调用时仍然会使用错误前缀,需要确认所有涉及GCS路径前缀的配置都统一修改完毕。 - 补充缺失的音频配置参数
当前识别配置未指定音频通道数,如果你录制的是双声道音频,API默认按单声道解析会识别失败,可在RecognitionConfig中新增.setAudioChannelCount(1)(单声道填1,双声道填2,和录制参数保持一致),也可新增.setEnableAutomaticPunctuation(true)提升识别结果的可用性。 - 验证音频内容合法性
你配置的识别语言为ru-RU(俄语),确认录制的音频确实为俄语内容;同时可将GCS存储的音频文件下载到本地,直接通过谷歌云控制台的语音转文本测试功能上传测试,排查是否存在音频本身无有效语音、文件损坏的问题。 - 确认服务账号权限
确保你配置的GOOGLE_APPLICATION_CREDENTIALS对应的谷歌云服务账号,拥有summaryapp存储桶的对象读取权限,避免因权限不足导致API无法读取音频文件返回空结果。
内容的提问来源于stack exchange,提问作者Отправитель Скрыт
相关产品推荐
相关产品推荐

