Forum: Multimedia
by Amateurprofi,
15. Okt 2013
@Bug:
Das wird so nicht funktionieren, weil (zumindest bei mir) MsgWaitForMultipleObjects sofort zurückkehrt und konstant 1 als Resultat liefert. Zum Drücken einer Taste kommt es also gar nicht.
Ich habe mein Problem jetzt so gelöst:
PROCEDURE TMain.Speak(Const S:String);
var Res:DWord; EV:THandle;
begin
Timer.Enabled:=False;
Voice.Skip('SENTENCE',MaxInt);
Forum: Multimedia
by Amateurprofi,
14. Okt 2013
@Bug:
WaitUntilDone
funktioniert, wartet also bis entweder der Text gesprochen ist, oder die als Parameter mitgegebene Zeit abgelaufen ist.
WaitForSingleObject
dto
MsgWaitForMultipleObjects
Der Rückgabewert ist immer = 1
Forum: Multimedia
by Amateurprofi,
13. Okt 2013
@Gerd01:
Danke, jedoch leider löst das nicht mein Problem.
Ich möchte nicht die Ausgabe der Sprache beenden, pausieren etc.
Sondern ich möchte solange warten, bis
entweder der zu sprechende Text komplett gesprochen wurde
oder eine Taste gedrückt wurde.
Und ich brauche eine Information, ob "das Warten" beendet wurde, weil der Text komplett gesprochen wurde oder weil eine Taste gedrückt wurde.
Forum: Multimedia
by Amateurprofi,
13. Okt 2013
Ich möchte per Sprachausgabe einen Text ausgeben und solange warten, bis entweder der Text komplett gesprochen wurde, oder irgendeine Taste gedrückt wird.
Wenn der Text komplett gesprochen wurde, möchte ich einen Timer "enablen", und den Text nach einer gewissen Wartezeit erneut ausgeben.
Wurde aber durch Drücken einer Taste abgebrochen, soll der Timer nicht "enabled" werden.
Mein...