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
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