控制语音输入的映射方式。
identifier:speech_word_mapping
参数属性
行动。定义了语音值。
可能的值。增加
输入。应该被映射的输入
可能的值。文本
输出。从一个映射的输入产生的结果。
可能的值。文本
is_regex。是否指定了一个正则表达式。
可能的值。真, 假
sub_mapping。单个整数作为一个字符串参数或一组整数。当使用regex将匹配的组映射到输出时,这是必需的。
可能的值。1
例子
在允许的语音命令中增加两个命令。这两个命令在 "显示命令 "窗口中应该有相同的描述。
<speech_word_mapping id="speech_actions">
<param name="action">add</param>
<param name="input">input</param>
<param name="output">output</param>
<param name="is_regex">true</param>
</speech_word_mapping>
带有Regex用法的完整例子
在这个例子中,一个带有动态数字的语音命令 "缩放级别X "是这样添加的。
<speech_modify_commands_in_grammar id="speech_add_commands">
<param name="grammar">xGuide</param>
<param name="slot">wf_editor_slot</param>
<param name="modification">add_commands</param>
<param name="commands"><![CDATA[?{
var cmds = [];
var i;
for(i = 1; i <= 5; i++){
cmds.push({ 'name': "ANDRRES_zoom_level " + i, 'description': `ANDRRES_zoom_level [1-5]`});
}
cmds
}?]]></param>
<param name="reset_before" type="bool">false</param>
</speech_modify_commands_in_grammar>
通过 "ANDRRES_zoom_level",我们正在使用一个来自Frontline Workplace的资源字符串,它将根据用户语言自动翻译。在这个规则中,我们想对语音命令作出反应。然而,我们总是希望与同一命令进行比较,而不是与命令的翻译进行比较。因此,speech_word_mapping
动作被用来将翻译后的命令映射到我们将在规则中使用的命令。
<speech_word_mapping id="zoom_level_mapping_action_add">
<param name="action">add</param>
<param name="input">ANDRRES_zoom_level ([1-5])</param>
<param name="output">ZOOM LEVEL $1</param>
<param name="is_regex">true</param>
<param name="sub_mapping">1</param>
</speech_word_mapping>