HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Beszélő alkalmazások


Példaprogram letöltése

4378 bájt

E példában annak járunk utána, hogy miként tudjuk felhasználni a Microsoft Speech API-t, melynek segítségével tetszőleges szövegeket olvastathatunk fel programunkkal. A felolvasáshoz a háttérben a Word programot is felhasználjuk, így minden olyan állományt megnyithatunk, amelyet a Word kezelni képes. A funkció használatához készítünk egy komponenst.

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.

Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 281. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |