Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Использование SpeechAPI


Автор: Burich-Caeser 22.2.2005, 16:17
В одной статье написано, что достаточно сделать так:
Код


uses Comobj;

var voice: OLEVariant;
begin
  voice := CreateOLEObject('SAPI.SpVoice');
  voice.Speak('Hello World!', 0);
end;



Только не работает=(

Выдает ошибку, кажется об неинициализации чего-то там...

А в VCL через объеты работает прекрасно, но надо в АПИ.

Автор: Girder 22.2.2005, 19:09
Код
program Project1;

uses windows, ComObj, ActiveX;

var voice: OLEVariant;

begin
 CoInitialize(nil);
 voice := CreateOLEObject('SAPI.SpVoice');
 voice.Speak('Hello World!', 0);
end.


или так smile
Код
program Project1;

uses windows, ComObj;

type TCoInitialize=function(Reserved:Pointer):HResult; stdcall;
var voice: OLEVariant;
   OleDll:DWord;
   CoInitialize:TCoInitialize;
begin
OleDll:=LoadLibrary('Ole32.dll');
if OleDll<>0 then
 begin
  CoInitialize:=GetProcAddress(OleDll,'CoInitialize');
  if Assigned(CoInitialize) then
   begin
    CoInitialize(nil);
    voice := CreateOLEObject('SAPI.SpVoice');
    voice.Speak('Hello World!', 0);
   end;
  FreeLibrary(OleDll);
 end;
end.

Автор: Burich-Caeser 22.2.2005, 23:44
Girder
Спасибище!!!! smile

Автор: Alex103 6.3.2005, 08:03
Ребята подскажите где взять этот же самый Speech!!

Автор: Poseidon 9.3.2005, 03:36
Цитата
Выдает ошибку, кажется об неинициализации чего-то там...

Хоть разобрался в чем проблама была-то? Нужно было CoInitialize(nil) добавить!


Цитата
Ребята подскажите где взять этот же самый Speech!!

На сколько я знаю, в Windows (по крайней мере в последних версиях: XP, 2000, ME) SpeechApi предусмотрено заранее, и устанавливать отдельно не нужно. Но если все-таки так нужно, то зайди не официальный сайт Майкрософта и поищи там.

Автор: Гость_Unregistered 9.3.2005, 08:15
Под XP нужно. если хочется русский язык послушать. SAPI 5.x пока русских движков не имеет. Под SAPI 4 движки есть (Digalo лучший на сегодня). По этому, если у вас XP, придется установить SAPI 4. Но ничего страшного в этом нет, разные версии друг другу не мешают.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)