![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
В своей программе я использую слегка модифицированную "стандартную" процедуру для анализа установленных в системе голосовых движков и заполнения комбобокса (в моем случае - комбобоксов) их выбора:
Код:
procedure LEARN_ENGINES;
var
NumFound : DWord;
ModeInfo : TTSModeInfo;
begin
try
{Инициализация аудиоустройства}
CoCreateInstance(CLSID_MMAudioDest, Nil, CLSCTX_ALL,
IID_IAudioMultiMediaDevice, fIAMM);
except
end;
{Создание перечисляемого объекта для перебора всех движков в системе
с помощью интерфейса ITTSEnum}
CoCreateInstance(CLSID_TTSEnumerator, Nil, CLSCTX_ALL,
IID_ITTSEnum, aTTSEnum);
aTTSEnum.Reset;//Сбрасываем на первый
aTTSEnum.Next(1, ModeInfo, @NumFound); {Получаем первый движок}
While NumFound > 0 do
begin
s:=String(ModeInfo.szModeName);
if pos('RUS',UpperCase(s))>0 then
COMBO_VOICE_RUS.Items.Add(s)
else
COMBO_VOICE_ENG.Items.Add(s);
aTTSEnum.Next(1, ModeInfo, @NumFound); {Получаем остальные}
end;
end;PS То, что в неполном закрытии программы виноват именно этот код, убедился точно. PPS Код брал отсюда. Последний раз редактировалось alexingor, 07.02.2013 в 01:43. |
|
#2
|
||||
|
||||
|
Цитата:
|
|
#3
|
|||
|
|||
|
Цитата:
|
|
#4
|
||||
|
||||
|
А вот это (http://drkb3.narod.ru/daaioa_n_micro...peech_api_.htm) не поможет?Там код рабочий, несколько лет назад его пробовал, без нареканий.
|
|
#5
|
||||
|
||||
|
Ты не полностью прочитал свою же ссылку, вот продолжение на эту тему. У тебя не очищается "движок". Про это тебе Alegun уже говорил.
|
|
#6
|
|||
|
|||
|
Цитата:
|
|
#7
|
|||
|
|||
|
Цитата:
Вот ссылка на этот мой проект: https://www.dropbox.com/sh/86pboo1lv...t/SAPITest.zip. |
|
#8
|
||||
|
||||
|
Похоже прабла в системе - у меня компилянт летает без зависаний. Свой собрать не удалось, не хватает некоторых исходников в проекте. Установил специально несколько, сколько нашёл, синтезаторов: и L&H engrus и жигалу.микеланжелу и vm и дьяблу - всё переключается, работает и нормально завершается. Попробуйте на другом компе запустить.
|
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
alexingor (09.02.2013)
| ||
|
#9
|
|||
|
|||
|
Это ценная информация, спасибо. Обязательно попробую и отпишусь.
|
|
#10
|
|||
|
|||
|
попробовал на другом компе - все нормально работает. Причину почему виснет у меня - пока не знаю. Но это уже какая-то определенность. Еще раз спасибо!
|
|
#11
|
||||
|
||||
|
Сам ведь писал, что у тебя "Зверь" установлен. Наверняка в этом причина.
|