我正在尝试在.net中使用Google Speech API v1,并面临打电话的挑战。
以下是我的代码。
Dim userSpeech = Google.Cloud.Speech.V1.SpeechClient.Create
Dim response = userSpeech.Recognize(New RecognitionConfig, RecognitionAudio.FromFile(filePath))
For Each result In response.Results
For Each alternative In result.Alternatives
Console.WriteLine(alternative.Transcript)
Next
Next
我从来没有达到第一个FOR的线。我也没有得到任何错误。 API已启用。 Google Cloud Credentials设置为环境变量。那么,没问题。
然后我在C#中尝试如下。但是我得到了完全相同的结果,即我没有达到预约线。
var speech = SpeechClient.Create();
var response = speech.Recognize(new RecognitionConfig()
{
Encoding = RecognitionConfig.Types.AudioEncoding.Linear16,
SampleRateHertz = 16000,
LanguageCode = "en",
}, RecognitionAudio.FromFile("audio.raw"));
textBox1.Text = "";
foreach (var result in response.Results)
{
foreach (var alternative in result.Alternatives)
{
textBox1.Text = textBox1.Text + " " + alternative.Transcript;
}
}
同一应用程序中的其他API调用有效,例如语言检测。
任何帮助都会得到高度赞赏。
提前致谢。
答案 0 :(得分:2)
确保您已安装Google Cloud SDK并通过运行以下命令进行身份验证:
gcloud auth application-default login