Bug FullScreen et SpaceBar
J'ai récemment rencontré un bug étrange dans un player vidéo en Flex.
Dans cette application, l'utilisateur avait la possibilité de mettre en pause et reprendre la vidéo en appuyant sur la touche espace (spacebar). L'utilisateur avait aussi la possibilité de mettre l'application en plein écran (fullscreen) via un bouton prévu à cet effet.
Cependant, à chaque fois que l'on mettait l'application en plein écran, la vidéo se mettait en pause!
Après plusieurs essais, je me suis rendu compte que la mise en plein écran déclenchait un évenement clavier sur la touche espace.
La solution que j'ai trouvé (peut être pas la meilleure...) est donc de désactiver le clavier au moment de la mise en plein écrant, puis de le réactiver après un Timer.
puis dans la fonction de passage en fullsreen :
stage.displayState = StageDisplayState.FULL_SCREEN;
//timer pour éviter bug sous firefox (fullscreen qui déclenche un événement spacebar...)
timerFullScreen.addEventListener(TimerEvent.TIMER_COMPLETE, onFullScreen);
timerFullScreen.start();
Et enfin la fonction onFullscreen :
{
timerFullScreen.stop();
timerFullScreen.removeEventListener(TimerEvent.TIMER_COMPLETE, onFullScreen);
stage.addEventListener( KeyboardEvent.KEY_DOWN, keyPressHandler );
}
Aucun trackbacks pour l'instant
mai 21st, 2010 - 08:10
Just want to say what a great blog you got here!
I’ve been around for quite a lot of time, but finally decided to show my appreciation of your work!
Thumbs up, and keep it going!
Cheers
Christian,