C#中的谷歌云语音,在nuget依赖项方面遇到问题
我遇到了一个非常令人困惑的问题,试图让谷歌云语音识别系统在C#上运行。在过去,我曾运行过这个程序,但现在我似乎重新考虑在.NETFramework4.6.1中为它制作一个控制台应用程序,我遇到了一个依赖性问题 代码如下:C#中的谷歌云语音,在nuget依赖项方面遇到问题,c#,.net,google-cloud-platform,nuget,C#,.net,Google Cloud Platform,Nuget,我遇到了一个非常令人困惑的问题,试图让谷歌云语音识别系统在C#上运行。在过去,我曾运行过这个程序,但现在我似乎重新考虑在.NETFramework4.6.1中为它制作一个控制台应用程序,我遇到了一个依赖性问题 代码如下: public class googleVoiceRecognition { public static SpeechRecognitionAlternative[] SyncRecognize(string filepath) { try
public class googleVoiceRecognition
{
public static SpeechRecognitionAlternative[] SyncRecognize(string filepath)
{
try
{
var speech = SpeechClient.Create();
var response = speech.Recognize(new RecognitionConfig
{
Encoding = RecognitionConfig.Types.AudioEncoding.Linear16,
SampleRateHertz = 16000,
LanguageCode = "en-US"
}, RecognitionAudio.FromFile(filepath));
foreach (var result in response.Results)
foreach (var alternative in result.Alternatives)
{
var newAlternatives = result.Alternatives;
try
{
var _orderNewAlternatives = (from alt in newAlternatives
select alt).OrderByDescending(c => c.Confidence);
var args = new List<string>();
foreach (var _alternative in _orderNewAlternatives)
{
args.Add(_alternative.Transcript);
}
if (args.Count > 0)
File.WriteAllLines(Environment.CurrentDirectory + "\\heard.txt", args.ToArray());
return _orderNewAlternatives.ToArray();
}
catch (Exception e)
{
SpeechRecognitionAlternative[] sys = { alternative };
return sys;
}
//return alternative.Transcript;
}
return null;
}
catch (Exception i)
{
return null;
}
return null;
}
现在这里是它变得非常混乱的地方,我不能降级到版本4.1.0,因为google.api.Gax需要比版本4.1.0更高的东西。我试着降低Gax的等级,但是Gax.Grpc也需要一个特定版本的Gax。我迷失在该做什么,我尝试删除所有依赖项,它阻止了我做什么,更新一切也不起作用
除此之外,该代码工作正常,因为它是较旧的代码
谢谢 尝试在Nuget Package Manager控制台中使用以下命令刷新您对Google软件包的依赖关系:
PM> get-package -ProjectName <your-project-name> | Where {$_.Id -match "Google.*|Grpc.*" } | Uninstall-Package -Force
PM> Install-Package Google.Cloud.Speech.V1
PM>get-package-ProjectName |其中{$|Id-match“Google.*| Grpc.*}|卸载包-Force
PM>安装包Google.Cloud.Speech.V1
能否将整个项目(.csproj、.packages、所有文件)发布到github或其他我可以检查的地方?我试着创建一个Framework4.6应用程序并调用SpeechAPI,它成功了:所以基本上我玩了一段时间,认为这是一个与另一个google cloud nuget依赖项的兼容性问题。我建立了一个快捷方式并建立了一个二级项目来管理这个部分。我相信这只是在演讲中,因为视觉和翻译结合在一起是很好的,除非我在演讲中加入。@Parkerbidgare:如果你能用一个最小的例子更新你的问题(可能包括项目文件中不兼容的包,以及一个刚刚发出请求的小型控制台应用程序),那就太好了。
PM> get-package -ProjectName <your-project-name> | Where {$_.Id -match "Google.*|Grpc.*" } | Uninstall-Package -Force
PM> Install-Package Google.Cloud.Speech.V1