Einzelnen Beitrag anzeigen

grizzly

Registriert seit: 10. Dez 2004
150 Beiträge
 
Delphi XE4 Professional
 
#6

AW: Sprachausgabe funktioniert nur im Debug-Modus

  Alt 3. Aug 2011, 19:55
Hier habe ich was gefunden: http://stackoverflow.com/questions/3...text-to-speech
Code:
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;
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

Müßte man nicht eigentlich beim Programmstart noch ein CoInitialize(nil) machen?

Gruß
Michael

Geändert von grizzly ( 3. Aug 2011 um 19:56 Uhr) Grund: Rechtschreibung
  Mit Zitat antworten Zitat