从Cortana语音命令结果中获取任何值

时间:2015-10-10 16:28:41

标签: win-universal-app cortana

从Cortana语音命令中读取任何值是否可行?

例如,当我说:

  

“在我的库中搜索{something}”

我希望在我的应用中获得{something}的结果。

我找到了如何使用 PhraseList PhraseTopic ,但在我的情况下可以是任何单词而不是某些声明的项目或一个主题。

1 个答案:

答案 0 :(得分:6)

在您的VoiceCommands.xml中,您需要:

<PhraseTopic Label="something" Scenario="Natural Language">
  <Subject> Natural Language </Subject>
</PhraseTopic>

在App.xaml.cs中,您需要:

     private string SemanticInterpretation(string interpretationKey, SpeechRecognitionResult speechRecognitionResult)
    {
        return speechRecognitionResult.SemanticInterpretation.Properties[interpretationKey].FirstOrDefault();
    }
}

在OnActivated方法中(或处理命令的任何其他位置) 你可以用以下方式阅读:

switch (voiceCommandName)
       {
        case "something":
              string something = this.SemanticInterpretation("something", speechRecognitionResult);

搜索和我的库之间的所有内容