![]() |
Delphi-Version: XE
Sprachausgabe funktioniert nur im Debug-Modus
Hi,
Der folgende Code zur Sprachausgabe funktioniert im Debug-Modus problemlos und wenn man die exe-Datei direkt aus dem Explorer startet gibt es eine "ungültige Gleitkommadivision" bzw. eine "Division durch Null" als Fehler. Kann mir jemand sagen warum das so ist und wie ich diesen Fehler beheben kann?
Delphi-Quellcode:
Getestet mit Delphi XE und Delphi 2007.
var
voice: OLEVariant; begin voice := CreateOLEObject('SAPI.SpVoice'); voice.speak('Hello World!', 0); end; |
AW: Sprachausgabe funktioniert nur im Debug-Modus
Hallo luke2,
verwendest Du Win 7, so gibt es Probleme, unter XP (oder XP-Mode) sollte es eigentlich funktionieren. Bis bald Chemiker |
AW: Sprachausgabe funktioniert nur im Debug-Modus
Ja, ich benutze Win7 (x64). Schade.
Gibt es auch unter Win7 die Möglichkeit einer stabilen Sprachausgabe? |
AW: Sprachausgabe funktioniert nur im Debug-Modus
Hallo luke2,
ich habe das nicht weiter verfolgt, weil es nicht möglich war eine deutsche Ausgabe mit Win 7 zu realisieren(oder nicht so einfach), allerdings kann sich das Mittlerweile geändert haben. Bis bald Chemiker |
AW: Sprachausgabe funktioniert nur im Debug-Modus
OK, Danke Chemiker. Dann werde ich mal suchen.
|
AW: Sprachausgabe funktioniert nur im Debug-Modus
Hier habe ich was gefunden:
![]()
Code:
Das speak im obigen Beispiel funktioniert nur, solange es nicht asynchron (Parameter 1 statt 0) aufgerufen wird, weil das Objekt am Ende der Prozedur aufgeräumt wird, noch bevor der Rechner zu Sprechen begonnen hat. Also ganz so wie hier im Beispiel sollte man es nicht umsetzen ;)
procedure TForm1.Button1Click(Sender: TObject);
var voice: OLEVariant; SavedCW: Word; begin voice := CreateOLEObject('SAPI.SpVoice'); SavedCW := Get8087CW; Set8087CW(SavedCW or $4); voice.speak('Hello World!', 0); // Funktioniert nur, solange hier 0 steht Set8087CW(SavedCW); end; Müßte man nicht eigentlich beim Programmstart noch ein CoInitialize(nil) machen? Gruß Michael |
AW: Sprachausgabe funktioniert nur im Debug-Modus
Super, Vielen Dank grizzly, damit funktioniert es :thumb:
|
AW: Sprachausgabe funktioniert nur im Debug-Modus
Zitat:
Bernhard |
AW: Sprachausgabe funktioniert nur im Debug-Modus
Funktioniert doch nicht so ganz, nach ein paar Aufrufen kommt der gleiche Fehler... :(
|
AW: Sprachausgabe funktioniert nur im Debug-Modus
Hast du dir das Tutorial schon einmal angesehen
![]() Das funktioniert bei mir super, auch unter Win7 64bit. Viele Grüße... |
AW: Sprachausgabe funktioniert nur im Debug-Modus
Leider auch damit der gleiche Fehler...
|
AW: Sprachausgabe funktioniert nur im Debug-Modus
Liste der Anhänge anzeigen (Anzahl: 1)
Also ich habe jetzt gefühlte 100mal auf "vorlesen" geklickt und es gab kein Problem bei diesem Beispiel.
Bei den beiden ursprünglichen Posts hatte ich das Problem aber auch, so wie du es beschrieben hast. :gruebel: |
AW: Sprachausgabe funktioniert nur im Debug-Modus
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Luke2,
Zitat:
axel |
AW: Sprachausgabe funktioniert nur im Debug-Modus
axellang, beim Ausführen dieser Anwendungen fliegen mir leider diverse OLE-Fehler um die Ohren.
Peter, das Beispiel funktioniert bei mir jetzt auf einmal auch, evtl. lag es daran, dass ich direkt SPVoice1.speak() aufgerufen habe und die Komponente nicht zur Laufzeit erstellt habe, kA... Danke für die Hilfe. |
AW: Sprachausgabe funktioniert nur im Debug-Modus
Hallo,
ich habe mir das noch nicht angesehen, aber ist die Sprachausgabe auf Deutsch? Bis bald Chemiker |
AW: Sprachausgabe funktioniert nur im Debug-Modus
Nein, die Sprachausgabe ist leider nur auf Englisch. Das Problem ist aber "nur" dass Mircrosoft keine deutsche TTS-Stimme für Windows mitliefert.
Wenn du also "nur" für dich eine deutsche Stimme suchst, die gibt es ab 50 Dollar. Wenn du aber das Programm mit der Stimme vertreiben willst, lohnt sich das wohl sehr schnell nicht mehr. Jedenfalls kenne ich keine deutschte Stimme, die eine preiswerte Weitergabelizenz enthält. Viele Grüße... |
AW: Sprachausgabe funktioniert nur im Debug-Modus
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe nochmal ein bisschen gegoogled und Microsoft bietet noch folgendes an (Steffi gibt es ja leider nicht mehr zum Download, hier beides installieren):
![]() ![]() Damit findet ihr Anna und Stefan auf eurem Rechner wieder. Die sind zwar recht alt und klingen nicht besonders gut, aber wer mehr will, muss eben ein paar Euro ausgeben (z.B. ![]() Bei mir funktionieren diese alten Stimmen übrigens unter Win7 64 bit. Die Auswahl der Stimme ist auch denkbar einfach umzusetzen (siehe Anhang). Viel Spaß damit... |
AW: Sprachausgabe funktioniert nur im Debug-Modus
Hallo,
danke für die Info, ich werde mir das mal am WE in Ruhe ansehen. Bis bald Chemiker |
AW: Sprachausgabe funktioniert nur im Debug-Modus
Hallo,
Zitat:
In der TextToSpeech u. in der TextToSpeechAnimated wird gezeigt wie Text aus einem Memo gelesen und das eben gesprochene Wort markiert wird. Außerdem, wird die TTS Engine Phonetik und der entsprechende Eintrag zu der installierten Stimme in der Reg. angezeigt. Geschwindigkeit der Stimme kann angepasst werden usw... ** TextToSpeechAnimated, zeigt wie das Gesprochen noch mit einem Avatar animiert werden kann. Das Zip entpacken und erst dann starten, da der Img Ordner (im Zip) vorhanden sein muss. Also nicht die Anwendung aus dem Zip heraus starten!! Habe es hier bei uns auf mehreren 7even/Vista/XP 32/64 getestet und es funktioniert einwandfrei. Axel |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:17 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-2025 by Thomas Breitkreuz