我正在尝试用c#转录沃森AI的音频文件。我遇到的问题是,我得到一个空的响应。这是我的代码:
IamAuthenticator authenticator = new IamAuthenticator( apikey: apikey );
SpeechToTextService speechToText = new SpeechToTextService(authenticator);
speechToText.SetServiceUrl(url);
speechToText.DisableSslVerification(true);
res = speechToText.Recognize(audio: memStream, inactivityTimeout: 180);
Console.WriteLine("Response: ", res.Response);
Console.WriteLine("Result: ", res.Result);
Console.WriteLine("Status: ", res.StatusCode);
在网站上我看到我消耗了我的免费使用。我99%肯定我的音频文件能用。我已经尝试过直接从方法中获取结果。
res.result = speechToText.Recognize(audio: memStream, inactivityTimeout: 180).Result;
如果我这样做,我将得到一个NullReferenceException
如果有人能帮忙就太好了。
您的音频流是空的,或者您正在获得需要捕获的错误或警告。根据API文档- https://cloud.ibm.com/apidocs/speech-to-text?code=dotnet-standard#error-handling
try
{
// Invoke a method
}
catch(ServiceResponseException e)
{
Console.WriteLine("Error: " + e.Message);
}
catch (Exception e)
{
Console.WriteLine("Error: " + e.Message);
}
如果没有抛出异常,则检查res
是否有Warnings
。