Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Sprachausgabe (https://www.delphipraxis.net/65526-sprachausgabe.html)

robinWie 17. Mär 2006 15:12


Sprachausgabe
 
Hallo,
ich möchte eine Programm erstellen in dem man einen Text eingeben kann und ihn sich dann vorlesen lassen kann. Mein Problem ist die Sprachausgabe. Habe zwar schon rumgesucht und was gefunden und einiges runtergeladen aber irgenwie verstehe ich das net :gruebel: Gibt es nicht eine einfache Kompo die Sprache ausgeben kann?

Danke im Voraus
:cheers:

turboPASCAL 17. Mär 2006 15:15

Re: Sprachausgabe
 
Mal geschaut ? Hier im Forum suchenSprachausgabe :gruebel:

Wie und was verstehst du denn nicht ?


//sorry, zu früh senden an stelle von vorschau ;)

konda 17. Mär 2006 15:18

Re: Sprachausgabe
 
Also eine englische Sprachausgabe ist nicht das Problem:Text vorlesen lassen :wink:

robinWie 17. Mär 2006 15:19

Re: Sprachausgabe
 
Das hier geschilderte Programm habe ich runtergeladen und Installiert. Das gibt es zwar Beispiele aber nur in CS und VB. Mein Problem das kann ich nich. Und wirklich was mit Sprachausgabe habe ich nicht gefunden.

robinWie 17. Mär 2006 15:22

Re: Sprachausgabe
 
danke Konda jetzt weiss ich. :thumb:

Nachtrag:
Und das mit den ganzen text vorlesen ist auch einfach:
Delphi-Quellcode:
function ReadText(Text: TStrings): Boolean; stdcall;
var
 i: integer;
 Line: string;
 Voice: OLEVariant;
begin
  try
    Voice := CreateOLEObject('SAPI.SpVoice');
    for i:=0 to Text.Count-1 do
      begin
        Line:=Text.Strings[i];
        Voice.Speak(Line, 0);
      end;
    Result:=True;
  finally
    Result:=False;
  end;
end;

sECuRE 17. Mär 2006 15:51

Re: Sprachausgabe
 
Hi,

Zitat:

Zitat von robinWie
Delphi-Quellcode:
function ReadText(Text: TStrings): Boolean; stdcall;
var
 i: integer;
 Line: string;
 Voice: OLEVariant;
begin
  try
    Voice := CreateOLEObject('SAPI.SpVoice');
    for i:=0 to Text.Count-1 do
      begin
        Line:=Text.Strings[i];
        Voice.Speak(Line, 0);
      end;
    Result:=True;
  finally
    Result:=False; // <--
  end;
end;

Mmh, da kommt doch immer false raus, oder? Bei einem try-except-block wäre das so richtig, hier ergibt es keinen Sinn.

cu

marlem 17. Mär 2006 15:57

Re: Sprachausgabe
 
schaue mal hier:
http://www.webspeech.de/index1.php

die haben auch komponenten für delphi!
hatte mal mit denen mailkontakt!

robinWie 17. Mär 2006 16:07

Re: Sprachausgabe
 
verdammt ich bin so ein idiot das muss natürlich except heissen und nich finally!

Delphi-Quellcode:
function ReadText(Text: TStrings): Boolean; stdcall;
var
i: integer;
Line: string;
Voice: OLEVariant;
begin
  try
    Voice := CreateOLEObject('SAPI.SpVoice');
    for i:=0 to Text.Count-1 do
      begin
        Line:=Text.Strings[i];
        Voice.Speak(Line, 0);
      end;
    Result:=True;
  except //<------
    Result:=False;
  end;
end;
das funzt aber nur wenn Voice eine Exception ausgibt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz