我试图使用Google提供的示例代码来使SpeechToText Api适用于DotNet,尽管尝试开箱即用地运行示例代码时始终遇到错误。 (参考:https://github.com/GoogleCloudPlatform/dotnet-docs-samples/tree/master/speech/api/Recognize)
作为先驱,我已经订阅了gCloud并启用了VoiceToText。使用Google进行身份验证没有问题,因为我已经能够从运行QuickStart示例的API处获得响应。 (https://github.com/GoogleCloudPlatform/dotnet-docs-samples/tree/master/speech/api/QuickStart)
来自https://github.com/GoogleCloudPlatform/dotnet-docs-samples/tree/master/speech/api/Recognize的代码示例应该激活我的Mac上的麦克风,然后将音频发送到Google Speech-To-Text Api,并带有预期的转录音频的JSON响应。 将代码和“ CD”下载到api / Recognize文件夹后,运行以下命令
DOTNET RESTORE
DOTNET RUN LISTEN 3
我遇到以下错误。
$ dotnet运行监听3
/GoogleVoiceToText/dotnet-docs-samples/speech/api/Recognize/Recognize.csproj :警告NU1701:软件包'NAudio 1.8.3'已使用恢复 “ .NETFramework,Version = v4.6.1”,而不是项目目标框架 “ .NETCoreApp,版本= v2.0”。该软件包可能不完全兼容 与您的项目。
/GoogleVoiceToText/dotnet-docs-samples/speech/api/Recognize/Recognize.csproj :警告NU1701:软件包'NAudio 1.8.3'已使用恢复 “ .NETFramework,Version = v4.6.1”,而不是项目目标框架 “ .NETCoreApp,版本= v2.0”。该软件包可能不完全兼容 与您的项目。
未处理的异常:System.AggregateException:一个或多个错误 发生。 (无法加载DLL'winmm.dll':指定的模块或一个 找不到它的依赖项。 (来自HRESULT的异常: 0x8007007E))---> System.DllNotFoundException:无法加载DLL 'winmm.dll':指定的模块或其依赖项之一无法 被发现。 (HRESULT的异常:0x8007007E)在 NAudio.Wave.WaveInterop.waveInGetNumDevs()在 NAudio.Wave.WaveIn.get_DeviceCount()在 GoogleCloudSamples.Recognize.d__11.MoveNext() 在 /GoogleVoiceToText/dotnet-docs-samples/speech/api/Recognize/Recognize.cs:line 405 ---内部异常堆栈跟踪的结尾--- System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification) GoogleCloudSamples.Recognize。<> c.b__13_3(ListenOptions opts)在 /GoogleVoiceToText/dotnet-docs-samples/speech/api/Recognize/Recognize.cs:line 494,位于GoogleCloudSamples.Recognize.Main(String [] args)中 /GoogleVoiceToText/dotnet-docs-samples/speech/api/Recognize/Recognize.cs:line 480
我怀疑问题可能是软件包过时了-NAudio 1.8.3。我尝试升级到NAudio 1.8.4,仍然遇到相同的问题。不确定是否有人遇到过类似的问题?或者,如果有人最近使用了实际起作用的麦克风流进行了SpeechToText Api的示例,那么将不胜感激吗?