![]() |
Probleme mit Sprachaausgabe (sapi sdk 5.1)
Hallo Community,
bei der entwicklung eines audiogames bin ich gleich zu beginn auf einige hürden gestoßen, hier meine Probleme (2 an der Zahl, hoffe ihr könnt helfen) 1. Sprachengine funktioniert nicht procedure TForm1.Button1Click(Sender: TObject); var voice: OLEVariant; begin voice := CreateOLEObject('SAPI.SpVoice'); voice.Speak('Hello world!', 0); end; ein einfacher und bekannter Cod. jetzt gibt es aber probleme: Wenn ich das Programm in der Delphiumgebung rune dann funktioniert alles, öffne ich es aber außerhalb der Delphiumgebung erhalte ich den Fehler "floating point division by zero" Könnt ihr mir sagen, wie ich das Problem beheben kann? Mir ist es schleierhaft, warum so etwas innerhalb von Delphi läuft, aber nicht außerhalb. nun zu Problem 2: Ich will mit der Sprachengine als activeX arbeiten, dazu muss, wie ich nachgelesen habe, eine vtxt.dll eingebunden werden. Diese finde ich aber nicht. habe sdk5.1 instaliert - die Datei ist nicht aufzufinden. Könnt ihr mir sagen, wo ich a) die Datei finde oder b) ob man dieses Einbinden vielleicht anders angehen muss, vielleicht auch mit einer anderen *.dll? grüße Blinder007 ps: nutze delphi 6 und win7 |
AW: Probleme mit Sprachaausgabe (sapi sdk 5.1)
Ich habe gerade kein Delphi < 2010 zur Hand, der beschrieben Fehler lässt sich mit 2010 nachstellen und folgendermaßen umgehen.
Delphi-Quellcode:
procedure TForm4.Button1Click(Sender: TObject);
var voice: OLEVariant; SavedCW: Word; begin voice := CreateOLEObject('SAPI.SpVoice'); // asynchron voice.Speak('Hello world!', 1); Showmessage('Hallo'); // synchron SavedCW := Get8087CW; try Set8087CW(SavedCW or $4); voice.Speak('Hello World!', 0); finally Set8087CW(SavedCW); end; Showmessage('Hallo'); end; |
AW: Probleme mit Sprachaausgabe (sapi sdk 5.1)
Hallo,
ich hab noch was gefunden aus meinem Projekt Memo vorlesen(bis vorhin ging es noch:-D:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var voice: OLEVariant; begin voice := CreateOLEObject('SAPI.SpVoice'); Spvoice1.Volume:= 100; Spvoice1.Speak(Memo1.Text,SVSFlagsAsync); end; // Auf Spvoice Word im Objektinspektor anklicken // Memo1 Text beim vorsprechen anzeigen //HideSelection auf False setzen im Objektinspector! procedure TForm1.SpVoice1Word(ASender: TObject; StreamNumber: Integer; StreamPosition: OleVariant; CharacterPosition, Length: Integer); begin Memo1.SelStart:=CharacterPosition; Memo1.SelLength:= Length; end; end. |
AW: Probleme mit Sprachaausgabe (sapi sdk 5.1)
dank euch, beide lösungen funktionieren hervoragend - jetzt werde ich wohl erstmal mit englisch rumprobieren, habe auch schonmal seiten irgendwo gesehen mit deutschen sprachen und das kann man auch irgendwie einstellen, damit beschäftige ich mich aber später - hauptsache das funktioniert :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz