【问题标题】:More than one listenFor tag in Speech Macro XMLSpeech Macro XML 中有多个 listenFor 标签
【发布时间】:2015-05-24 22:35:58
【问题描述】:

我最近开始接触 windows 语音宏,它允许您为 windows 语音识别制作自定义命令。目前,我只能对它说一件事,它可以响应并执行命令,但我希望它像 OK GOOGLE 一样,我先说它的名字,然后它准备好执行实际命令,除非我说取消,这是我所拥有的一个例子: (我的系统叫做 J-SIB,它把我称为 Vulpix.JS)

<?xml version="1.0" encoding="UTF-16"?>
<speechMacros>
  <command>
    <listenFor>Jay Sib, Start Chrome</listenFor>
    <speak>Yes Sir, Mister Vulpix Dot Jay Es</speak>
    <run command="C:\Users\Programming\Desktop\Chrome.exe"/>
  </command>
</speechMacros>

但我希望它是这样的:

<?xml version="1.0" encoding="UTF-16"?>
<speechMacros>
  <command>
    <listenFor>Jay Sib</listenFor>
    <speak>Yes Sir?</speak>
   <listenFor>Start Chrome</listenFor>
   <speak>Yes Sir, Mister Vulpix Dot Jay Es</speak>
   <run command="C:\Users\Programming\Desktop\Chrome.exe"/>
  </command>
</speechMacros>

我怎么能在我不说命令的情况下得到它呢?因为每当我尝试上面的命令时,它都会说有错误。

“根据父元素'command'的内容模型,元素'listenFor'是意外的。预期:sendKeys、insertText、run、emulateRecognition、waitFor、speak、alert、confirm、setTextFeedback、script、wmpMediaPlay、WmpMed.. 。”

(您可能会问说整个命令有什么问题,我只是不太喜欢它,我希望它像 OK GOOGLE 一样)

【问题讨论】:

    标签: xml macros


    【解决方案1】:

    错误告诉您不能按该顺序排列标签。所有listenFor 标签必须彼此相邻,并且它们中的任何一个都会触发相同的命令。

    您可能需要将其拆分为两个命令,如下所示。

    <?xml version="1.0" encoding="UTF-16"?>
    <speechMacros>
      <command>
        <listenFor>Jay Sib</listenFor>
        <speak>Yes Sir?</speak>
      </command>
      <command>
       <listenFor>Start Chrome</listenFor>
       <speak>Yes Sir, Mister Vulpix Dot Jay Es</speak>
       <run command="C:\Users\Programming\Desktop\Chrome.exe"/>
      </command>
    </speechMacros>
    

    【讨论】:

    • 没用,它把这两个都识别为 2 个不同的命令:/
    • 是的,那是因为它们是不同的命令。你还没有回答你的错误是什么,但我怀疑你不能在一个命令中进行多次发言,并且多个 listenFor 只是被视为等价物(即它们中的任何一个都会触发命令)
    • 哦,抱歉,没看到你问错误是什么,这里是:“根据父元素'command'的内容模型,元素'listenFor'是意外的。期望:sendKeys,insertText , 运行, emulateRecognition, waitFor, 说话, 提醒, 确认, setTextFeedback, script, wmpMediaPlay, WmpMed..."
    • 基本上它告诉你你不能按那个顺序排列标签。所有的 listenFor 必须彼此相邻,并且它们中的任何一个都将触发相同的事件。所以我认为我上面的解决方案是你将得到的最接近的解决方案。 waitFor 是一种可能性,但这只是一个等待计时器。不确定确认操作的作用,但我认为它只是期望 OK。
    猜你喜欢
    • 1970-01-01
    • 2022-01-22
    • 2023-03-21
    • 2018-12-25
    • 2015-02-18
    • 1970-01-01
    • 1970-01-01
    • 2022-11-06
    • 1970-01-01
    相关资源
    最近更新 更多