pia*_*nka 8 c# wpf speech-recognition windows-10
我想在c#中为Windows 10创建一个WPF应用程序.现在,我之前的Windows版本的问题是我是意大利语,而且意大利语中没有语音识别支持.但现在有了神经.那么,我如何在我的应用程序中使用cortana的语音识别引擎?如果我只是使用new SpeechRecognitionEngine(new CultureInfo("it-IT")));
它给我一个错误,'因为没有简单的recongition引擎,所以我必须使用cortana的一个.希望你理解并抱歉我的英语不好.谢谢您的回答.
And*_*ley 15
为了使用Windows 10中发布的新的SpeechRecognition WinRT API,您需要在桌面C#应用程序中添加对WinRT API的支持.这不需要将应用程序转换为Windows应用商店应用程序,但至少对于某些部分而言.据我所知,新的引擎还没有被移植到System.Speech.SpeechRecognitionEngine,它仍然使用传统的识别器(我会在这里查看演讲团队,如果我找到更多,请在这篇文章中跟进)在那一点上.)
基于此处和此处的指导,我能够创建一个经典的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());
}
}
Run Code Online (Sandbox Code Playgroud)
为了得到这个,我补充道
<PropertyGroup>
<TargetPlatformVersion>10.0</TargetPlatformVersion>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
到.csproj,并从Project - > Add References - > Universal Windows - > Core部分添加了Windows.Media和Windows.Foundation,我还手动添加了对
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5.1\System.Runtime.WindowsRuntime.dll
Run Code Online (Sandbox Code Playgroud)
和
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5.1\System.Runtime.InteropServices.WindowsRuntime.dll
Run Code Online (Sandbox Code Playgroud)
通过添加引用的浏览部分.
您需要检查SpeechRecognizer.SupportedGrammarLanguages以检索it-IT语言对象,以便将其传递给Recognizer构造函数,如果您的系统不是默认的IT-IT.(如果您安装了意大利语版本的Windows 10,则默认情况下会发生这种情况)
现在,我上面的代码片段只编译一个超级简单的语法,它不会开始识别.您需要查阅Windows.Media.SpeechRecognition API的其余部分,但它也是一样的.
归档时间: |
|
查看次数: |
9966 次 |
最近记录: |