【问题标题】:Cortana commands only work when spokenCortana 命令仅在说话时有效
【发布时间】:2015-10-19 23:40:23
【问题描述】:

在经历了很多挫折之后,我意识到 Cortana 语音命令似乎只能在说出时被识别,而不是在使用键盘输入时被识别。例如,在安装CortanaVoiceCommand 示例项目后,我可以说“Adventure Works 展示我的伦敦之旅”并且它可以工作。但是,如果我输入完全相同的短语,则无法识别该命令,而是搜索 Bing。

有没有办法让 Cortana 识别语音手动输入的命令?

【问题讨论】:

  • 你试过一起写 AdventureWorks 吗?以及您使用的是什么版本的示例?我根据较早的示例编写了一个应用程序,只需键入即可激活 Cortana,但我也无法使用最新版本的键入。
  • 我尝试将其作为一个单词,有无逗号。我正在使用最新版本的“Windows 10 RTM 版本 - 2015 年 9 月更新 2”。我将在今天晚些时候检查差异,看看是否有可能破坏它的更改。
  • 您最近更新了示例吗?我们最近进行了更改,将 CommandSet 的 CommandPrefix 标记移至 AppName 标记,并删除了逗号。我相信在已经发布给内部人员的较新版本的窗口中,这里的行为可能会有一些改进。您可能想要更新示例并查看其中包含的更新后的 VCD 文件
  • @AndrewPilley-MSFT 我有相反的经历,我有一个用于构建应用程序的旧样本,我能够输入,但最近更新的版本出现了问题。

标签: windows-10 cortana


【解决方案1】:

在此处运行一些测试后,这可能是因为您使用的是较旧的旧标签(文档和示例不小心使用了 <CommandPrefix> 而不是 <AppName> 并包含一个逗号,您应该省略它。)

如果您制作的 VCD 如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.2">
  <CommandSet xml:lang="en-us" Name="AdventureWorksCommandSet_en-us">
    <AppName> Adventure Works</AppName>
    <Example> Show trip to London </Example>

    <Command Name="showTripToDestination">
      <Example> Show trip to London </Example>
      <ListenFor RequireAppName="BeforeOrAfterPhrase"> show [my] trip to {destination} </ListenFor>
   ...

您的键盘输入场景应该会更好,语音也会更准确。 &lt;CommandPrefix&gt; 标签是一个遗留标签,在最初构建时意外包含在示例中。

【讨论】:

  • 如果我使用您的代码,我无法输入并获得响应,但如果我使用 ,我可以。
  • 很好奇。我在这里的虚拟机中安装了相同的设备,当输入“我去伦敦旅行时冒险工作”时,它工作正常。在此之前,由于 Cortana 回退到灵活性较低的旧版解析器,使用与逗号组合的 CommandPrefix 块会导致几个问题。
  • 很高兴知道,因此建议使用 AppName。奇怪的是它对我不起作用。如果您发现问题,请让我们更新。我更喜欢使用新的解析器,但我发现输入与 Cortana 通信的能力必不可少。如果它有所作为,我将使用带有所有更新的稳定夏季版本。
  • 现在它对我有用。不确定它是否与 CommandPrefix 或 AppName 有关,因为它们现在似乎都可以工作。也许这是旧版本的东西,或者是 Cortana 的临时侥幸。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-18
  • 1970-01-01
  • 1970-01-01
  • 2015-08-03
  • 2014-08-22
  • 2017-11-11
相关资源
最近更新 更多