繁体   English   中英

Windows Phone 8.1应用程序中的语音识别器在线

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM