gpt4 book ai didi

c# - Windows 10 语音识别

转载 作者:太空狗 更新时间:2023-10-29 18:15:58 24 4
gpt4 key购买 nike

我想在 c# 中为 Windows 10 创建一个 WPF 应用程序。现在,我在使用以前的 Windows 版本时遇到的问题是我是意大利人,并且不支持意大利语的语音识别。但现在有了 Cortana。那么,我如何在我的应用程序中使用 Cortana 的语音识别引擎呢?如果我只是使用 new SpeechRecognitionEngine(new CultureInfo("it-IT"))); 它会给我一个错误,因为没有简单的识别引擎,所以我必须使用 cortana 的.希望你理解并为我的糟糕英语感到抱歉。谢谢你的回答。

最佳答案

为了使用新的SpeechRecognition WinRT API 在 Windows 10 中发布,您将需要向桌面 C# 应用程序添加对 WinRT API 的支持。但是,这不需要将应用程序转换为 Windows 应用商店应用程序,至少对于某些部分而言是这样。据我所知,新引擎尚未向后移植以将支持添加到 System.Speech.SpeechRecognitionEngine 中,它仍然使用旧版识别器(我会在这里与语音团队核实,如果我发现更多信息,请在这篇文章中跟进在这一点上。)

基于来自 here 的指南和 here , 我能够创建一个经典的 c# WPF 应用程序,并实现以下代码:

private SpeechRecognizer reco;

public MainWindow()
{
InitializeComponent();

reco = new SpeechRecognizer();
List<string> constraints = new List<string>();
constraints.Add("Yes");
constraints.Add("No");
reco.Constraints.Add(new SpeechRecognitionListConstraint(constraints));
IAsyncOperation<SpeechRecognitionCompilationResult> op = reco.CompileConstraintsAsync();
op.Completed += HandleCompilationCompleted;
}

public void HandleCompilationCompleted(IAsyncOperation<SpeechRecognitionCompilationResult> opInfo, AsyncStatus status)
{
if(status == AsyncStatus.Completed)
{
System.Diagnostics.Debug.WriteLine("CompilationCompleted");
var result = opInfo.GetResults();
System.Diagnostics.Debug.WriteLine(result.Status.ToString());
}
}

为了编译,我添加了

  <PropertyGroup>
<TargetPlatformVersion>10.0</TargetPlatformVersion>
</PropertyGroup>

到 .csproj,并从项目 -> 添加引用 -> 通用 Windows -> 核心部分添加了 Windows.Media 和 Windows.Foundation,我还手动添加了对

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5.1\System.Runtime.WindowsRuntime.dll

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5.1\System.Runtime.InteropServices.WindowsRuntime.dll

通过添加引用的浏览部分。

如果您的系统尚未默认为 it-IT,则您需要检查 SpeechRecognizer.SupportedGrammarLanguages 以检索 it-IT 语言对象以将其传递给识别器构造函数。 (如果您安装了意大利语版的 Windows 10,默认情况下应该会发生这种情况)

现在,我上面的代码片段只编译了一个 super 简单的语法,并没有启动识别。为此,您需要查阅 Windows.Media.SpeechRecognition API 的其余部分,但它们的思路是一样的。

关于c# - Windows 10 语音识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31902274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com