Flash Microphone.get() Requires Minimum Stage Size

I’ve been working on my first flash app, a simple set of controls to record audio from a microphone through a web page. This is about the most basic thing you can do with Flash Media Server, but I was having this strange problem where things suddenly stopped working.

Generally, I’d start with one of the Macromedia examples and make a bunch of changes so that the app would do what I wanted. But it always seemed like at some point, it would just stop working. The app would successfully connect to the Flash Media Server and would appear to start recording, but no Microphone access alert would appear on the client side and no stream would start on the server side.

Eventually, I made my changes one at a time and tested the app after each change. I was stunned to find that resizing the Flash app to my desired dimensions was causing it to fail in accessing the microphone! It turns out that Microphone.get() requires a stage size of a least 215×138 pixels!. Of course, now that I know what the problem was, it’s easy to find where this is documented:

http://www.adobe.com/support/flash/action_scripts/actionscript_dictionary/actionscript_dictionary482.html

But still, it was pretty frustrating that there was no visible error (at least that I could see — I’m new to flash) and the restriction seems pretty arbitrary. I realize that Flash needs to show the security alert, but can’t flash just pop up new windows?

Anyway, I hope this saves some else some time…

Leave a comment

Your email address will not be published. Required fields are marked *