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

Get any value from Cortana voice command result

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

例如,当我说:

"Search {something} in my library"

我想在我的应用程序中获取来自{something}的结果。

我找到了如何使用 PhraseListPhraseTopic,但在我的例子中可以是任何词而不是某些已声明的项目或一个主题。

在你的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);

在搜索和我的图书馆之间的一切都会有一些东西