从 Cortana 语音命令结果中获取任何值
Get any value from Cortana voice command result
是否可以从 Cortana 语音命令读取任何值?
例如,当我说:
"Search {something} in my library"
我想在我的应用程序中获取来自{something}的结果。
我找到了如何使用 PhraseList 和 PhraseTopic,但在我的例子中可以是任何词而不是某些已声明的项目或一个主题。
在你的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);
在搜索和我的图书馆之间的一切都会有一些东西
是否可以从 Cortana 语音命令读取任何值?
例如,当我说:
"Search {something} in my library"
我想在我的应用程序中获取来自{something}的结果。
我找到了如何使用 PhraseList 和 PhraseTopic,但在我的例子中可以是任何词而不是某些已声明的项目或一个主题。
在你的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);
在搜索和我的图书馆之间的一切都会有一些东西