Зарегистрируйте несколько файлов определений голосовых команд в Cortana

Есть ли способ зарегистрировать несколько файлов определения голосовых команд в Cortana UWP?

У меня есть приложение, которое отвечает на пользовательские команды cortana. Поскольку количество команд, на которые будет отвечать мое приложение, велико, я бы хотел разделить их на несколько файлов VCD. Я хотел бы, чтобы мое приложение отвечало на различные CommandPrefix, как указано в каждом файле VCD.

Пример файла VCD 1:

<CommandSet xml:lang="en-us" Name="CustomCommands">
    <CommandPrefix>Custom</CommandPrefix>
    <Example> Open Website </Example>

    <Command Name="CustomOpenWebsite">
    <Example> Open website </Example>          
    <ListenFor> Open website </ListenFor>
    <Feedback> Opening your website </Feedback>
    <Navigate/>          
    </Command>
</CommandSet>

Пример файла VCD 2:

<CommandSet xml:lang="en-us" Name="ReportCommands">
    <CommandPrefix>My report</CommandPrefix> 
    <Example> Open Report </Example>

    <Command Name="OpenReport">
      <Example>[Can] [you] Open [the] report [please]</Example>
      <ListenFor> Open report </ListenFor>
      <Feedback> Opening your report </Feedback>
      <Navigate/>
    </Command>
<CommandSet>

Я регистрирую оба этих VCD-файла, как это

StorageFile vcdReport = await Package.Current.InstalledLocation.GetFileAsync(@"ReportCommandDefinitions.xml");
StorageFile vcdCustom = await Package.Current.InstalledLocation.GetFileAsync(@"CustomCommandDefinitions.xml");

await VoiceCommandDefinitionManager.InstallCommandDefinitionsFromStorageFileAsync(vcdCustom);
await VoiceCommandDefinitionManager.InstallCommandDefinitionsFromStorageFileAsync(vcdReport);

Тем не менее, это не похоже на работу. Только один из файлов VCD регистрируется, и я могу использовать только голосовые команды из одного из них.

0 ответов

Другие вопросы по тегам