Hallöchen,
folgende Situation: Ich emuliere eine Umgebung. Darauf wird eine Aufzeichnung (Mausklicks, Tastatureingaben) abgespielt. Nun soll es einen sogenannten UserInteraction Mode geben, bei dem der Benutzer die Wiedergabe pausieren darf. Dann werden Eingaben erlaubt. Der Eintritt in den User InteractionMode hängt von mehreren Begingungen ab, einerseits ein String innerhalb der Aufzeichnung, andererseits ein SyncPoint. Das ist eine Art Hash der Pixel in einem Bereich. Braucht euch aber nicht zu interessieren.
Nun ist es so, dass die Aufzeichnungen in einer Schleife durchlaufen werden. Wenn ich also an einer Stelle anhalten will, muss ich da eine weitere Schleife reinsetzen, die erst dann endet, sobald der Benutzer die Tastenkombi drückt, mit der er die Wiedergabe wiederaufnehmen kann.
Diese zweite Schleife implementiere ich gerade.
Das Problem ist jetzt natürlich, dass die CPU-Auslastung auf 100% geht und die Tastenkombination garnicht verarbeitet werden kann. Auf dem emulierten System regt sich nichts mehr. :toll:
Gibt es irgendeine Möglichkeit das zu verhindern?
Hier nochmal der Ablauf schematisch
String UserInteractionBegin =>SyncPoint ok? >>falls ja >> erlaube Benutzereingaben, halte Verarbeitung der Aufzeichnungen an.
Wenn Tastenkombi X erhalten >> Fahre fort mit Aufzeichnungen >> SyncPoint wiederum ok? >> wenn ja >> String UserInteractionEnd >> Normal mit der Aufzeichnung fortfahren.
Ich hoffe es ist halbwegs klar geworden was ich will?!
folgende Situation: Ich emuliere eine Umgebung. Darauf wird eine Aufzeichnung (Mausklicks, Tastatureingaben) abgespielt. Nun soll es einen sogenannten UserInteraction Mode geben, bei dem der Benutzer die Wiedergabe pausieren darf. Dann werden Eingaben erlaubt. Der Eintritt in den User InteractionMode hängt von mehreren Begingungen ab, einerseits ein String innerhalb der Aufzeichnung, andererseits ein SyncPoint. Das ist eine Art Hash der Pixel in einem Bereich. Braucht euch aber nicht zu interessieren.
Nun ist es so, dass die Aufzeichnungen in einer Schleife durchlaufen werden. Wenn ich also an einer Stelle anhalten will, muss ich da eine weitere Schleife reinsetzen, die erst dann endet, sobald der Benutzer die Tastenkombi drückt, mit der er die Wiedergabe wiederaufnehmen kann.
Diese zweite Schleife implementiere ich gerade.
Java:
private void UIModeLoop(){
while(beginUIMode && _vc.getState() == 5){
if(endUIMode)return;
}
}
Das Problem ist jetzt natürlich, dass die CPU-Auslastung auf 100% geht und die Tastenkombination garnicht verarbeitet werden kann. Auf dem emulierten System regt sich nichts mehr. :toll:
Gibt es irgendeine Möglichkeit das zu verhindern?
Hier nochmal der Ablauf schematisch
String UserInteractionBegin =>SyncPoint ok? >>falls ja >> erlaube Benutzereingaben, halte Verarbeitung der Aufzeichnungen an.
Wenn Tastenkombi X erhalten >> Fahre fort mit Aufzeichnungen >> SyncPoint wiederum ok? >> wenn ja >> String UserInteractionEnd >> Normal mit der Aufzeichnung fortfahren.
Ich hoffe es ist halbwegs klar geworden was ich will?!