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

Я использую следующий код для установки моего файла VCD ("грамматика") в Cortana:

Windows.ApplicationModel.Package.current.installedLocation.getFileAsync("VoiceCommandDefinitions.xml")
.then(Windows.ApplicationModel.VoiceCommands.VoiceCommandDefinitionManager.installCommandDefinitionsFromStorageFileAsync)
.then(() => Debug.writeln("Successfully installed VCD file");

Сообщается об успехе, но когда я пишу запрос в Cortana, изменения, которые я внес в мой файл VCD, не отражаются в Cortana.

Как я могу заставить Cortana фактически использовать мою обновленную грамматику?

1 ответ

Решение

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

Установленные грамматики хранятся в %LOCALAPPDATA%\Packages\Microsoft.Windows.Cortana_cw5n1h2txyewy\LocalState\Grammars\VoiceCommands.Components.0409.cfg, Живые (т.е. кэшированные) грамматики хранятся в %LOCALAPPDATA%\Packages\Microsoft.Windows.Cortana_cw5n1h2txyewy\LocalState\Grammars\ReadOnlyGrammars\VoiceCommands.Components.0409.cfg, Эта копия обновляется каждый раз, когда пользователь выполняет голосовое взаимодействие с Cortana.

(Нет источника, извините. Эта информация основана на обмене электронной почтой с разработчиками Cortana в Microsoft.)

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