Seite 1 von 2

Sprachausgabe in deutsch mit speech.dll

Verfasst: 13.02.2007 09:56
von dysti
Hallo,
ich habe die "Speech.dll" von Frank Frabbing an Purebasic angepasst.

Code: Alles auswählen

Enumeration
  #Window_0
EndEnumeration

Enumeration
  #speechdll
  #StringGadget_0
  #ButtonGadget_1
  #ButtonGadget_2
EndEnumeration

OpenLibrary(#speechdll, "Speech.dll")

Procedure.l InitSpeech()
  value.l = CallFunction(#speechdll, "InitSpeech")
  ProcedureReturn value
EndProcedure

Procedure.l PlaySpeech(s.l,lg.l)
  value.l = CallFunction(#speechdll, "PlaySpeech",s,lg)
  ProcedureReturn value
EndProcedure

Procedure.l StopSpeech()
  value.l = CallFunction(#speechdll, "StopSpeech")
  ProcedureReturn value
EndProcedure

Procedure.l DeInitSpeech()
  value.l = CallFunction(#speechdll, "DeInitSpeech")
  ProcedureReturn value
EndProcedure

Procedure OpenWindow_Window_0()
  If OpenWindow(#Window_0, 236, 180, 400, 400, "Sprachausgabe", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
    If CreateGadgetList(WindowID(#Window_0))
      StringGadget(#StringGadget_0, 5, 10, 385, 315, "Hallo Purebasic, du bist eine schöne Programmiersprache.")
      ButtonGadget(#ButtonGadget_1, 40, 340, 110, 35, "Text sprechen")
      ButtonGadget(#ButtonGadget_2, 160, 340, 110, 35, "Sprache stoppen")
    EndIf
  EndIf
EndProcedure

OpenWindow_Window_0()
InitSpeech()

Repeat
  Event = WaitWindowEvent()
  Select Event
    
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
      If EventGadget = #StringGadget_0
      ElseIf EventGadget = #ButtonGadget_1
      inhalt.s = GetGadgetText(#StringGadget_0)
      PlaySpeech(@inhalt,Len(inhalt))
      ElseIf EventGadget = #ButtonGadget_2
      StopSpeech()
      EndIf
   
    Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      If EventWindow = #Window_0
      DeInitSpeech()
        Break
      EndIf
  EndSelect
ForEver
Hier die Internetadresse für die DLL:
http://frabbing.de/_speech.html
Den Microsoft Reader bekommt man hier:
http://www.microsoft.com/reader/de/downloads/pc.asp
und das neuste Update:
http://www.microsoft.com/reader/de/upda ... mplete.asp
Die deutsche Srachausgabe gibt es auch:
http://www.microsoft.com/reader/de/downloads/tts.asp

Verfasst: 13.02.2007 11:22
von rolaf
Klasse, danke!

Nett wie LH Anna "PureBasic" ausspricht (hört sich fast wie französischer Akzent an, würde ja passen). :mrgreen:

Verfasst: 13.02.2007 19:58
von ts-soft
Warum nicht die UserLib von Esteban?
http://www.purebasic.fr/english/viewtop ... i&start=30
SAPI4 und SAPI5 Unterstützung und mehr Funktionen als die DLL :wink:

Verfasst: 14.02.2007 00:51
von rolaf
ts-soft hat geschrieben:Warum nicht die UserLib von Esteban?
Tja, warum nur ist die Banane krum? :wink:

Z.B. weil der Funktionsumfang schön übersichtlich und einfach begreifbar ist, zudem von nem netten deutschen Kollegen und völlig ausreichend auf das Wesentliche reduziert!? :allright:

Verfasst: 14.02.2007 01:11
von ts-soft
Falo hat geschrieben:Z.B. weil der Funktionsumfang schön übersichtlich und einfach begreifbar ist,
Okay, ich hab da keine Probleme :mrgreen:
Falo hat geschrieben:zudem von nem netten deutschen Kollegen und völlig ausreichend auf das Wesentliche reduziert!? :allright:

Okay, Frank ist schon in Ordnung, dagegen kann man nichts einwenden :wink:

Hab aber nur die anderen Sprachengines installiert, die laufen nicht mit der DLL.

Verfasst: 14.02.2007 07:24
von dysti
Hey TS-SOFT,
habe die DLL nur angepasst, weil sie eben einfach und schnell ohne große Überlegung einzubinden ist, zumal, wie du auch, ich mit Franks Listview und Profan arbeite. Ich gehe zumindest davon aus, weil wir uns ab und zu auch ins Franks Forum wiedertreffen. Ich will dir nichts unterstellen. Sollte es nicht so sein, so möge du mir verzeihen. Au jeden Fall kann ich sowohl in Profan als auch in Purebasic die DLL´s verwenden.

Verfasst: 14.02.2007 20:12
von ts-soft
Ich nutze lieber UserLibs als DLLs, kann mir ja notfalls eine DLL draus
machen. Das ist aber jedem selbst überlassen, wollte nur drauf hinweisen,
das es sowas für PB bereits gibt. Viele UserLibs usw. vom engl. Forum sind
hier ja nicht so bekannt.

Verfasst: 15.02.2007 09:41
von dysti
aus der Sicht "PB" hast du vollkommen recht. :allright:

Verfasst: 15.02.2007 21:43
von Frabbing
Danke, dysti!

Ich werd' den Code gerne der Dll beilegen. :D

@ts-soft:
Warum nicht die UserLib von Esteban?
http://www.purebasic.fr/english/viewtop ... i&start=30
SAPI4 und SAPI5 Unterstützung und mehr Funktionen als die DLL

Ich nutze lieber UserLibs als DLLs, kann mir ja notfalls eine DLL draus
machen. Das ist aber jedem selbst überlassen...
Darum steht ja auf meiner Webpage:

Die Speech.dll ist entstanden, um den Einbau der SAPI-Schnittstelle in eigene Programme zu vereinfachen. Dabei nutzt sie weder alle Möglichkeiten der SAPI, noch legt sie Anspruch darauf, vollständig zu sein.

[/i]

Verfasst: 15.02.2007 21:48
von ts-soft
@Frank
Bild

Biste auf PB umgestiegen?