
A mellékelt példaprogram megnyitása előtt a WordSpeech.pas-ban lévő komponenst telepítenie kell a Delphi alá. Ehhez válassza a Component - Install Component menüpontot.
E lehetőség használatához szükséges lehet a Microsoft Speech SDK telepítése, (http://microsoft.com/speech). A Windows 2000, illetve Windows XP-től kezdve a beszédfelolvasás lehetőségét az operációs rendszer telepítésnél együtt megkapjuk, de csak szűkített lehetőségekkel. Így ezen operációs rendszerektől kezdve már működőképes lesz alkalmazásunk a Speech SDK telepítése nélkül is, ennek ellenére nem árt, ha itt is elvégezzük a telepítést. Ekkor például nem csak a Microsoft Sam hang lesz a rendszerünkben, mely képes a felolvasásra, hanem több hang közül is választhatunk.
Az alapvető beállításokat elvégezhetjük a Vezérlő pult - Beszéd elemét választva.
A Win95-öt leszámítva minden ennél újabb operációs rendszerben már használhatjuk a Speech SDK-t. Használatához szükséges az IE 5.0-s vagy frissebb verziójának a megléte is. Hardver oldalon 233 MHz-en futó Pentium II-es processzor a minimum, 128 MB RAM kíséretében.
A komponens FileName property-jében kell megadnunk a felolvasandó állomány nevét. A felolvasás a Read metódus meghívásával kezdődik. Az állománynév megadásakor ügyeljünk arra, hogy csak olyan állományt adjunk meg, amelyet a Word képes megnyitni.
A felolvasásnak az a hátránya, hogy csak angol nyelven működik.
A komponens elkészítése
A Word-öt és a Speech API-t egyaránt, OleVariant típusú változók segítségével érjük el. Az OleVariant típus használatához a uses listában fel kell sorolnunk a ComObj unit nevét is.
A Word programot csak arra használjuk fel, hogy a megadott állományt megnyissuk, és a benne található szöveget elmentsük egy TStringList típusú változóba.
WordApp:=CreateOleObject('Word.Application');
WordApp.Documents.Open(FFileName);
FText.Text:=WordApp.ActiveDocument.Range.Text;
WordApp.Quit;
A Speech API-hoz, a Word-höz hasonlóan csatlakozhatunk.
FSpeech:=CreateOleObject('SAPI.spVoice');
Egy szöveg felolvasását a Speak metódus meghívásával kérhetjük.
FSpeech.Speak(FText.Text,0);
Első paraméterként a felolvasandó szöveget kell megadnunk. A második paraméterben arról rendelkezhetünk, hogy a felolvasás, esetlegesen más hangeszközökkel párhuzamosan történjen-e.