![]() |
Thread mit OLEVariant
Hi,
Ich die sprachausgabe in einen Thread verlegen:
Delphi-Quellcode:
type
TReadThread = class(TThread) private FText: String; protected procedure Execute; override; public property Text: String read FText write FText; end; procedure TReadThread.Execute; var oleVoice: OLEVariant; begin oleVoice := CreateOLEObject('SAPI.SpVoice'); oleVoice.Speak(ftext); end; procedure TForm1.Button1Click(Sender: TObject); begin ReadThread := TreadThread.Create(true); ReadThread.FreeOnTerminate := True; ReadThread.Text := 'Das ist ein Test'; ReadThread.Resume; end; Jetzt bekomme ich immer einen fehler Zitat:
Mfg ReDoX |
Re: Thread mit OLEVariant
Hi,
die Fehlermeldung sagt doch bereits alles. Du musst die Prozedur "CoInitialize" aufrufen. mfG mirage228 |
Re: Thread mit OLEVariant
Hallo,
bevor der Thread terminiert CoUninitialize nicht vergessen. [Edit] Das hat damit zu tun, dass jeder Thread sein eigenes ![]() Das passiet mit dem Aufruf von Coinitialize.[/EDIT] |
Re: Thread mit OLEVariant
Ich habe es jetzt so
Delphi-Quellcode:
gemacht.
procedure TReadThread.Execute;
var oleVoice: OLEVariant; begin CoInitialize(nil); try oleVoice := CreateOLEObject('SAPI.SpVoice'); oleVoice.Speak(ftext); finally CoUninitialize; end; end; Und was soll ich sagen es funktioniert :thumb: Danke! Mfg ReDoX |
Re: Thread mit OLEVariant
Hallo ReDoX,
spricht die SAPI von Haus aus nicht Englisch? Oder hast Du eine deutsche TextToSpeech Engine. |
Re: Thread mit OLEVariant
Hallo Jens,
die SAPI spricht bei mir auch englisch aber es war ja nur ein test ,weil mir auf englisch nichts eingefallen ist :stupid:. Aber jetzt wir der text ja vom Benutzter gewählt. Gibt es die SAPI auch auf deutsch? Mfg ReDoX |
Re: Thread mit OLEVariant
Hallo ReDoX,
klar gibt es deutsche TextToSpeech (tts) Engines. Sie mal auf den ![]() |
Re: Thread mit OLEVariant
Hallo,
habe gerade harausgefunden, dass die deutsche TTS-Engine von Lernout&Hauspie, die es auf den Agent Seiten gibt für das SAPI 4.0 sind und nicht mit dem auf XP installierten SAPI 5.0 zusammenarbeiten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:04 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