C# 调用 Google Speech-to-Text API 实现语音转文字本地文件失效问题
问题排查点
- 首先你当前代码使用的
RecognitionAudio.FromStorageUri()方法仅支持读取谷歌云存储(GS)的资源,无法直接加载本地音频文件,这是最常见的失败原因。
加载本地文件需要替换为对应的方法:// 替换原有的FromStorageUri行,参数替换为你本地音频的绝对路径 var audio = RecognitionAudio.FromFile(@"C:\your\local\path\audio.flac"); - 确认本地音频参数和
RecognitionConfig中的配置完全匹配:- 编码格式:你当前配置的是
Flac编码,需要确认本地音频确实是无损FLAC格式,没有经过格式转换的损坏 - 采样率:你当前配置的采样率是16000Hz,需要确认本地音频的采样率和该值完全一致
- 声道数:Google Speech-to-Text默认优化单声道音频,多声道音频需要额外添加对应配置,否则会识别失败
- 语言码:你当前配置的是希伯来语(以色列),需要确认本地音频的使用语言和该配置匹配,要是其他语言需要替换成对应的
LanguageCodes枚举值
- 编码格式:你当前配置的是
- 如果你的本地音频时长超过1分钟,不能使用同步的
Recognize()方法,要改用异步的LongRunningRecognize()方法,否则会触发接口超时导致识别失败 - 确认你的运行程序对本地音频文件有读取权限,没有被系统权限拦截
内容的提问来源于stack exchange,提问作者Sara
相关产品推荐
相关产品推荐

