Speech Programm für Console
Verfasst: 26.07.2012 19:44
Hallo zusammen
möchte gerne Texte von einem Programm vorlesen lassen, habe folgenden Programm Code gefunden.
Möchte es nun in ein Consolenprogramm übernehmen, habe es auch hin bekommen, jedoch habe ich noch Probleme, das die Computerstimme ausspricht, bis jetzt arbeite ich mit Delay, oder einer For Next Schleife.
eine Repeat, Forever Schleife kommt nicht in Frage, es geht nur um Kommentar zu Beginn des Programms.
Benutze Steffi als Stimme, soweit ist alles Ok, Event = WaitWindowEvent() kann ich nicht benutzen, weil Console, kommt immer Fehlermeldung, Fenster muss geöffnet sein.
Wer kann einem Anfänger unter die Arme greifen, nun noch mein Code.
Wie gesagt, arbeite mit einer Schleife, bin darüber aber nicht sehr glücklich.
Vielen Dank im voraus für eure Hilfe

möchte gerne Texte von einem Programm vorlesen lassen, habe folgenden Programm Code gefunden.
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, ich bin eine Filmdatenbank, was kann ich für Dich tun. Bitte mache eine Eingabe.")
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
eine Repeat, Forever Schleife kommt nicht in Frage, es geht nur um Kommentar zu Beginn des Programms.
Benutze Steffi als Stimme, soweit ist alles Ok, Event = WaitWindowEvent() kann ich nicht benutzen, weil Console, kommt immer Fehlermeldung, Fenster muss geöffnet sein.
Wer kann einem Anfänger unter die Arme greifen, nun noch mein Code.
Code: Alles auswählen
InitSpeech()
Sagen.s = " Ich bin die Computerstimme Steffi."
PlaySpeech(@Sagen,Len(Sagen))
Sagenlaenge = Len(Sagen)
For K = 1 To Sagenlaenge
Delay(90)
Next Vielen Dank im voraus für eure Hilfe