从Cortana语音命令中读取任何值是否可行?
例如,当我说:
“在我的库中搜索{something}”
我希望在我的应用中获得{something}的结果。
我找到了如何使用 PhraseList 和 PhraseTopic ,但在我的情况下可以是任何单词而不是某些声明的项目或一个主题。
答案 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);
搜索和我的库之间的所有内容