@@ -45,7 +45,7 @@ func (s *STT) Recognize(audioData []byte, audioURL string) (string, error) {
45
45
func (s * STT ) transcribeFromURL (audioURL string ) (string , error ) {
46
46
ctx := context .Background ()
47
47
48
- // 第一次尝试��使用语言检测
48
+ // 第一次尝试使用语言检测
49
49
params := s .buildParams ()
50
50
transcript , err := s .client .Transcripts .TranscribeFromURL (ctx , audioURL , params )
51
51
if err != nil {
@@ -73,14 +73,17 @@ func (s *STT) transcribeFromURL(audioURL string) (string, error) {
73
73
if transcript .Error != nil {
74
74
// 在这里检查语言置信度错误
75
75
if s .isLanguageConfidenceError (err ) && s .cfg .AssemblyAI .DefaultLanguageCode != "" {
76
- // 使用默认语言重试
77
76
logger .Infof ("语言置信度低于阈值 %.2f,使用默认语言 %s 重试" ,
78
77
s .cfg .AssemblyAI .LanguageConfidenceThreshold ,
79
78
s .cfg .AssemblyAI .DefaultLanguageCode )
80
79
81
- // 构建新的参数,使用默认语言
82
- params = s .buildParamsWithDefaultLanguage ()
83
- return s .transcribeFromURL (audioURL ) // 递归调用,使用新参数重试
80
+ // 使用新参数重新发起转录请求
81
+ params := s .buildParamsWithDefaultLanguage ()
82
+ transcript , err = s .client .Transcripts .TranscribeFromURL (ctx , audioURL , params )
83
+ if err != nil {
84
+ return "" , fmt .Errorf ("使用默认语言重试失败: %v" , err )
85
+ }
86
+ continue // 继续轮询新的转录状态
84
87
}
85
88
return "" , fmt .Errorf ("转录出错: %s" , * transcript .Error )
86
89
}
@@ -123,7 +126,7 @@ func (s *STT) StreamRecognize(ctx context.Context, audioDataChan <-chan []byte,
123
126
return fmt .Errorf ("AssemblyAI 不支持流式处理" )
124
127
}
125
128
126
- // buildParams 将 config.yaml 中的字段映射到 AssemblyAI 的 TranscriptOptionalParams
129
+ // buildParams ��� config.yaml 中的字段映射到 AssemblyAI 的 TranscriptOptionalParams
127
130
func (s * STT ) buildParams () * aai.TranscriptOptionalParams {
128
131
aaiCfg := s .cfg .AssemblyAI
129
132
0 commit comments