Skip to main content
Inspiring
August 5, 2012
Question

AIR bug with iOS fullscreen video! (easy repro)

  • August 5, 2012
  • 4 replies
  • 1951 views

Here's a bug with fullscreen AIR apps not dealing with iOS fullscreen video resize. Easy repro:

1. Create an mc with a background graphic aligned with the top and bottom of the stage. (This is so you can easily see the bug.)

2. Add a stageWebView and load an html page with embedded video. (or just load a video directly)

3. Play video and enable fullscreen mode.

4. Rotate device 90 degrees while in fullscreen mode and then hit "Done" button to return to stage (exit fullscreen).

5. BUG: Stage is now "pushed down" and off-screen. (even though the mc still traces x = 0)

Conclusion: the display bug occurs when the user exits the iOS native player fullscreen mode from a different orientation then they started with (common if the original aspect ratio was portrait)

Can someone else please confirm this? (The amount of stage "push" appears to corrolate with the height of the iOS status bar.)

Thanks.

PS. You don't necessarily need to load an html page. You can just have stageWebView load a video directly and experience the same result.

PPS. I also tried using the new UIWebView Native Extension and am seeing the same thing, so this is really looking like an AIR/Flash bug with the iOS native player.

This topic has been closed for replies.

4 replies

Participating Frequently
December 24, 2012

Hi - I realize this is an old post, but I can confirm the above.  Did you solve it?  Only way I can see to do it is to try to determine when fullscreen mode is exited and then do the following:

stage.displayState = StageDisplayState.NORMAL; //this is the mode it is in anyway after the fullscreen + rotate + unfullscreen

stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE; //now set it to what you want it to be

But the problem is how to detect when the webview has gone fullscreen, then rotated, then gone unfullscreen...?

gtrAuthor
Inspiring
December 27, 2012

Yes, toggling the StageDisplayState works, but in addition, I needed to refresh the screen by removing and re-adding the visible child objects to correct the display bug. It's an ugly workaround resulting in screen flash on "refresh", but I can't find any other solution to this obvious AIR bug.

Thanks for confirming the bug, BTW. Adobe probably considers this an "edge" case, but it's a pretty big deal for iOS, IMO.

As far as listening to when the conditions are true (fullscreen-rotated-unfullscreen), I created a "didRotate" var to flag on a StageOrientationEvent and if true on exiting video fullscreen mode, I call my "screenRefresh" function to fix the display. What fun!

gtrAuthor
Inspiring
January 21, 2013

New bug report created.

Any interested parties in improved iOS support, please confirm and comment in the bug report. Thanks!

link:

https://bugbase.adobe.com/index.cfm?event=bug&id=3486264