I don't think there exists a workaround right inside the flash or for any web application as the whole point of security (by restricting access to user's devices) would be lost from that.
As far as I know, the only solution for your problem is to ask the user before prompting the camera detection function.
I might sound like a bummer but something like :
- Show Dialog "Do you have a camera?" - Yes/No
- If yes show Dialog "Please grant the flash player to access camera..." - OK
- Detect Camera (using the getCamera method)
- If failed show Dialog
- else start showing all the several dialogs you intended to.
Also sometimes the camera might be present physically & not installed. So if a user does not know or the camera is inaccessible for any reason you might need to figure that out. So for that use
flash.media.Camera.names
and check if it is empty or not. Or better you could simply pull a few bytes of data from the user's camera & see if it really exists & is accessible.