[英]Speech Recognizer online in Windows Phone 8.1 app
我在Windows Phone 8.1应用程序中遇到语音识别大问题。
我的代码(我在Google中找到了类似的代码):
private SpeechRecognizer speechRecognizer;
public async Task InitializeSpeechRecognizerAsync()
{
speechRecognizer = new SpeechRecognizer();
SpeechRecognitionTopicConstraint topicConstraint =
new SpeechRecognitionTopicConstraint(SpeechRecognitionScenario.Dictation,
"dictation");
speechRecognizer.Constraints.Add(topicConstraint);
await speechRecognizer.CompileConstraintsAsync();
}
然后单击事件:
private async void BtnAge_Click(object sender, RoutedEventArgs e)
{
SpeechRecognitionResult recognitionResult = await speechRecognizer.RecognizeWithUIAsync();
}
当然-它不起作用并引发异常
Operation is not valid due to the current state of the object.
我知道如何在Windows Phone 8.0上识别语音,但不知道如何在WP 8.1上识别语音。
确保您的设备安装了合适的语音语言并与Recognizer对象相关联。 您可以使用MSDN上记录的与语言相关的属性进行验证
尝试使用与调用RecognizeWithUIAsync()相同的方法来放置代码以初始化识别器。 这是我自己的应用程序中肯定有效的代码:
public async Task<string> RecognizeSpeech()
{
SpeechRecognizer recognizer = new SpeechRecognizer();
SpeechRecognitionTopicConstraint topicConstraint = new SpeechRecognitionTopicConstraint(SpeechRecognitionScenario.Dictation, "Message");
recognizer.Constraints.Add(topicConstraint);
await recognizer.CompileConstraintsAsync();
SpeechRecognitionResult result = await recognizer.RecognizeWithUIAsync();
if (result.Confidence == SpeechRecognitionConfidence.High || result.Confidence == SpeechRecognitionConfidence.Medium)
{
return result.Text;
}
return null;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.