How to Fix Adobe Mobile AIR Camera Displaying Static?
Posted on August 27, 2013
When developing Adobe AIR mobile applications, someone is bound to ask for a camera feature at some point. Of course, you say “Ok I can do that, no problem!”. It will be only a few days before you run into static displayed in your Video container when you try to attach the Camera object.
The camera display issue is a deal-breaker when it comes to Adobe Mobile AIR applications. We have had clients turn to us after their previous development teams were unable to fix this problem for months!
The issue is very easy to overcome, but it’s difficult to find the right answer on the internet. There is an obscure and hard to find a post on the Adobe Bug Base (which I only found after a week of frantic search). I couldn’t even find for reference for this post.
The trick is to set the rendering mode to direct in the <myAppName>-app.xml file. Any other setting is likely to cause the image to be displayed statically.
<renderMode>direct</renderMode>
If, at first, it doesn’t work, don’t give up! Try cleaning the project, deleting the generated files or, if all else fails, slightly modify one of the source files so the IDE is tricked into recompiling everything. You may even want to try uninstalling the deployed app from your phone and re-install it.
I hope this saves someone a lot of debugging time and hopefully Adobe will have the camera working on both GPU and CPU modes in the future.
Adobe Air and Flash technologies are outdated and a hassle to run on client machines now in 2020. Consider transitioning to state-of-the-art technologies such as WebRTC for video streaming.
Even now, after more than 15 years, RTMP is still the most reliable and widely used video streaming protocol, a must for professional broadcasts. With the demise of Flash, Flex and Adobe AIR, mobile RTMP SDKs offer the only feasible solution for in-app streaming.
Last update: 17.04.2020
What do you think? Share your thoughts!