UWP语音指令集不能与多个短语
问题描述:
工作时试图实现VoiceCommands,我用这一套:UWP语音指令集不能与多个短语
<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)
当我使用的ListenFor
“搜索{}搜索”,它正确返回正确的结果。但是为了实现这个功能,我需要在一个命令中使用2个(甚至3个)短语。
看来UWP只识别最后一个短语。我是否正确或应该可以在ListenFor
元素中使用多个短语?
更新2016年6月13日:
我创建了一个repro:
答
海尔特,它看起来像你使用的是Windows内幕建设14342.您遇到的问题是由于在建14341引入了错误,这应固定在构建> = 14371.
希望帮助。
答
没有UWP识别内部ListenFor
我猜你需要多个短语不止一个ListenFor
<Command Name="searchCommand">
<Example>Search for UWP on Bing </Example>
<ListenFor RequireAppName="BeforeOrAfterPhrase"> search for {search} on {service} </ListenFor>
<ListenFor RequireAppName="BeforeOrAfterPhrase">search for {search}</ListenFor>
<ListenFor RequireAppName="BeforeOrAfterPhrase">search for on {service}</ListenFor>
<Feedback>Searching for {search} on {service}</Feedback>
<Navigate />
</Command>
用这种方法你可以覆盖所有的组合。我猜Cortana因为只有一个ListenFor而感到困惑。
+0
感谢您的回复。我一直在测试这个,并且只能得到最后一个元素。 –
我不能重现你的问题,你能分享一个样本吗? –
@ GraceFeng-MSFT我已添加repro –