使用下面的代码,PollUntilComplete()方法永远不会返回
string uri = $"gs://{bucket}/{selectedFile}";
RecognitionConfig config = new RecognitionConfig()
{
Encoding = RecognitionConfig.Types.AudioEncoding.Linear16,
SampleRateHertz = int.Parse(sampleRateComboBox.Text),
LanguageCode = "en",
Model = "default"
};
RecognitionAudio audio = RecognitionAudio.FromStorageUri(uri);
if (audio.Content != null)
{
var longOperation = speech.LongRunningRecognize(config, audio);
toolStripStatusLabel1.Text = "Processing: " + selectedFile;
Console.WriteLine("Transcript: ");
longOperation = longOperation.PollUntilCompleted(null, null,
new Action<LongRunningRecognizeMetadata>((LongRunningRecognizeMetadata obj) =>
{
Console.WriteLine($"Last Update Time: {obj.LastUpdateTime.ToDateTime()
.ToString()}, Percent Complete: {obj.ProgressPercent}");
}));
}
如果我使用gcloud CLI启动该过程,它将起作用。所以我知道源文件和帐户凭据是有效的。关于可能出什么问题的任何建议?
请参阅下图,我的回叫花了几秒钟。但是我的音频文件长约20秒。可能是您的文件更长。