2015-10-10 4 views
3

Возможно ли считывать любое значение из голосовой команды Cortana?Получите любое значение из результата голосовой команды Cortana

Например, когда я говорю:

"Search {} что-то в моей библиотеке"

Я хочу, чтобы получить результат от {} что-то в моем приложении.

я нашел, как работать с PhraseList и PhraseTopic, но в моем случае может быть любое слово вместо того, чтобы некоторые объявили пунктов или по одной теме.

+1

Помогло ли это иметь пример? https://github.com/Windows-XAML/Template10/blob/master/Samples/Cortana/Cortana.xml –

ответ

5

В вашем 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 (или везде, где вы Handle команду) вы можете прочитать это с помощью:

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

что-то будет между шпоном ch и в моей библиотеке

+0

Я использовал ваш ответ, чтобы ответить на вопрос. Я размещаю награду: http://stackoverflow.com/questions/ 37106171/как к экстракту-заместитель аргументов из-а-Кортана-командно-с-разговорник тему реактивировать. Если вы опубликуете ответ, я дам вам награду. –