При попытке реализовать VoiceCommands я использую этот набор:
<Command Name="searchCommand">
<Example>Search for UWP on Bing </Example>
<ListenFor RequireAppName="BeforeOrAfterPhrase"> search for {search} on {service} </ListenFor>
<Feedback>Searching for {search} on {service}</Feedback>
<Navigate />
</Command>
Я добавил эти фразы (где служба динамически обновляется в коде, это все работает нормально):
<PhraseList Label="service">
<!-- Dynamic -->
</PhraseList>
<PhraseTopic Label="search" Scenario="Search">
<!-- Dynamic -->
</PhraseTopic>
Теперь, когда я использую эту команду, API, похоже, распознает только последнюю фразу. Поэтому, если я использую 3 фразы, будет распознана только последняя.
Command: 'Search for UWP on Bing'
Shows up as: 'Searching for {search} on Bing'
TextSpoken value: 'Search for UWP on Bing' (so the voice to text is working correctly)
Когда я использую «Поиск {search}» в ListenFor
, он правильно возвращает правильный результат. Но для этой функции, которую я реализую, мне нужно 2 (или даже 3) фразы в одной команде.
Кажется, что UWP распознает только последнюю фразу. Я прав или можно использовать несколько фраз внутри элемента ListenFor
?
Обновление от 13 июня 2016 г.:
Я создал репродукцию: