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

调整Google流式语音识别代码后无法接收文本的技术求助

问题分析与修复方案

我一眼就看出问题所在了——你已经正确定义了RecognitionConfig实例,但完全没把它关联到StreamingRecognitionConfig对象里!

问题根源

修改前的代码中,StreamingRecognitionConfig包含了完整的Config配置(编码、采样率、语言代码这些核心参数),但修改后你只设置了InterimResults = true,却漏掉了把定义好的config对象赋值给StreamingRecognitionConfig.Config属性。

Google流式语音识别API必须依赖这些核心配置来理解音频流的格式和识别规则,缺少这个配置的话,服务端无法正确处理你的请求,自然不会返回任何识别文本。

修复后的代码

只需要补上漏掉的Config = config赋值即可:

RecognitionConfig config = new RecognitionConfig();
config.Encoding = RecognitionConfig.Types.AudioEncoding.Linear16;
config.SampleRateHertz = 32000;
config.LanguageCode = "en";

await streamingCall.WriteAsync(
 new StreamingRecognizeRequest() {
 StreamingConfig = new StreamingRecognitionConfig() {
 Config = config, // 这行是你缺失的关键代码!
 InterimResults = true,
 }
 });

优化建议(可选)

如果想让代码结构更清晰,也可以把配置拆分得更彻底,避免嵌套过深:

// 定义基础识别配置
var recognitionConfig = new RecognitionConfig
{
    Encoding = RecognitionConfig.Types.AudioEncoding.Linear16,
    SampleRateHertz = 32000,
    LanguageCode = "en"
};

// 定义流式识别配置并关联基础配置
var streamingRecognitionConfig = new StreamingRecognitionConfig
{
    Config = recognitionConfig,
    InterimResults = true
};

// 发送请求
await streamingCall.WriteAsync(new StreamingRecognizeRequest 
{ 
    StreamingConfig = streamingRecognitionConfig 
});

这样不仅可读性更强,也能减少漏写属性的概率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:39:30