Форум » BUGS » Вылеты при "инициализации речевых синтезаторов" из-за ошибок в реестре » Ответить

Вылеты при "инициализации речевых синтезаторов" из-за ошибок в реестре

Cminant: Используемый в KooBAudio для доступа к речевым движкам компонент (встроенный в среду .NET Framework) при всех своих достоинствах (ограничивающихся по большому счету лишь качественным микшированием аудиосигнала и простотой использования) обладает весьма ощутимым недостатком: Информацию об установленных движках он получает непосредственно из реестра WINDOWS, при этом совершено не заботясь о проверке корректности данных и обработке ошибок. В итоге первая же "кривая" запись, либо отсутствие необходимого параметра в реестре вызывает критическую ошибку, и использование компонента становится невозможным... Если при запуске KooBAudio на стадии "Инициализация речевых синтезаторов" вылетает с отчетом, содержащим строки, начинающиеся с "System.Speech.Internal......" можно с уверенностью сказать, что имеет место ошибка в реестре. Некоторые типы таких ошибок KooBAudio обнаруживает и предлагает исправить автоматически, но, к сожалению пока что далеко не все. Эта функция будет дорабатываться по мере моих возможностей. В остальных же случаях исправить проблему можно либо просто удалив "проблемный" голосовой дижок, либо исправив вручную записи в редакторе реестра... Итак, для корректной работы программы записи о движках в реестре должны соответствовать следующим требованиям: Раздел реестра с информацией о движках: Для 32-битных версий Windows : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\ Для 64-битных версий Windows : HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech\Voices\Tokens\ В каждом подразделе содержится информация об одном движке. Обязательно должен присутствовать подраздел "Attributes", и в нем строковые параметры "Name", "Language", "Age", и "Gender" Строковые параметры не должны содержать недопустимых символов (нулевой символ, "кракозябры" и прочий мусор) Пример, как должен выглядеть раздел движка "Nikolai": [more][/more]

Ответов - 1

KOMODOR2: Как показывает практика, все проблемы с реестром возникают из-за установки всяких левых движков. Стандартная винда+Колька - и не будет никаких косяков



полная версия страницы