Flash mobile development - AIR 3.4 and Microphone access

I'm encountering an issue with AIR 3.4 and the new Kindle Fire (2nd gen, non-HD).
There is no microphone, as Amazon's comparison chart illustrates: https://developer.amazon.com/sdk/fire/specifications.html, but AIR is telling me that there is a microphone.
It also reports a value of TRUE for Camera.isSupported and CameraUI.isSupported.
So here's the scoop on Kindle Fire:
1st generation Kindle Fire does not properly support audio capture from within AIR (even with an external Microphone connected). For more information, see: https://bugbase.adobe.com/index.cfm?event=bug&id=3197063
2nd generation Kindle Fire doesn't support audio capture unless an external microphone is connected. However, I don't know of a way within AIR to differentiate between headphone or no, because Microphone.isSupported always returns TRUE.
Kindle Fire HD supports audio capture with or without an external mic.
The best metric I know of to handle this, so far, is to use "android.os.Build.MODEL" to disable microphone use for the 1st gen Kindle.
This is kind of clunky though.
It also doesn't allow me to properly handle the 2nd gen Fire because there is no way (that I know of) to determine if the user has a microphone plugged in.
Anyone from Adobe care to weigh-in? (Or anyone that knows an alternative?)
Edit: Here's a test project that I've created that illustrates the problem:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" applicationComplete="init()"
               xmlns:s="library://ns.adobe.com/flex/spark" applicationDPI="160">
    <fx:Script>
        <![CDATA[
            private function init():void {
                cameraLabel.text = "Camera: " + Camera.isSupported.toString();
                cameraUILabel.text = "CameraUI: " + CameraUI.isSupported.toString();
                microphoneLabel.text = "Microphone: " + Microphone.isSupported.toString() + " => " + Microphone.getMicrophone();
        ]]>
    </fx:Script>
    <s:VGroup horizontalCenter="0" verticalCenter="0">
        <s:Label id="cameraLabel" />
        <s:Label id="cameraUILabel" />
        <s:Label id="microphoneLabel" />
    </s:VGroup>
</s:Application>
Running this program on a 2nd gen Kindle Fire results in the following values being displayed on the screen:
Camera: true
CameraUI: true
Microphone: true => [object Microphone]

You can read this from the "/system/build.prop" file on Android.
Funky Monkey Studio has released a nice utiltiy class for doing this, NativeDeviceInfo.

Similar Messages

  • Facetime and microphone access? How?

    Just upgraded to iOS7 and since can no longer use FaceTime: I have lost audio. Is there a way to force access to the microphone? Thanks

    To get the user choice we need add
    StatusEvent.STATUS listener to the camera object
    The below example code code
    camera.addEventListener(StatusEvent.STATUS, camera_status);
    private function camera_status(evt:StatusEvent):void {
                    var str:String = "[{0}] code:'{1}', level:'{2}'\\n";
                    textArea.text += StringUtil.substitute(str,
                                        evt.type,
                                        evt.code,
                                        evt.level);
                    switch (evt.code) {
                        case "Camera.Muted":
                            Alert.show("User denied access to camera.");
                            break;
                        case "Camera.Unmuted":
                            Alert.show("User allowed access to camera.");
                            break;

  • Adobe Air vs HTML5 vs Native in Mobile Development

    Just now, I read an article "HTML5 vs. Native: What`s a Mobile Developer to Do?" (http://www.eweek.com/c/a/Application-Development/HTML5-vs-Native-Whats-a-Mobile-Developer- to-Do-648997/), and this make me think of Adobe AIR.
    For those of you who have used Adobe AIR to develop mobile apps, how do you think about it's performance, features/functionality (API), and stability as compare with HTM5 done with phonegap?
    Please share your experience and opinion here. Thanks.

    Witch version of flash builder is this?

  • Flash Android development website started

    Hi all,
    I know I seem like a newbie to the forum but I've been lurking around here for years actually.
    I've started a Flash mobile development website, specifically targeting Android, which contains articles, tutorials, and a forum.
    The site is flashandroid.mikalesblog.com if you'd like to check it out. Feel free to comment on anything and join the community to start posting.
    Catch you later!
    -mighty

    Hi,
    Use the below code to load and play an audio:
    import flash.events.Event;
    import flash.events.ProgressEvent;
    import flash.media.Sound;
    import flash.net.URLRequest;
    var s:Sound = new Sound();
    s.addEventListener(ProgressEvent.PROGRESS, onLoadProgress);
    s.addEventListener(Event.COMPLETE, onLoadComplete);
    s.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
    /* testAudio.mp3 is located at the same path where the .swf file is placed */
    var req:URLRequest = new URLRequest("testAudio.mp3");
    s.load(req);
    function onLoadProgress(event:ProgressEvent):void {
        var loadedPct:uint =  Math.round(100 * (event.bytesLoaded / event.bytesTotal));
        trace("The sound is " + loadedPct + "% loaded.");
    function onLoadComplete(event:Event):void {
        var localSound:Sound = event.target as Sound;
         /* Play the audio */
        localSound.play();
    function onIOError(event:IOErrorEvent) {
        trace("The sound could not be loaded: " + event.text);
    For better understanding of Sound Class refer the link :
    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Sound.html
    For how to load a file from SD in AIR 2.5 for Android :
    import flash.filesystem.File;
    var file:File = File.documentsDirectory.resolvePath("music/testAudio.mp3");
    if (file.exists) {
         trace(file.url);
         s.load(new URLRequest(file.url));
    Hope it helps.

  • How can I use a file in flash cs6 that I made in flash cs5.5 air for android

    I have made an app in in air for android in flash cs5.5 air for android, and I want to edit it in cs6 and play it in cs6.
    But if I put Ctrl+Enter I got an error: createWin process failed with error 2: system couldn't find the file. I think the problem is that I'am using air for android 2.6 version in flash cs5.5 and version 3.2 in flash cs6. I have searched the web and found out that you can add older air versions using the sdk manager and I have tried it but first I get the error that the version of the sdk I am trying to install is not valid and after some files that I added to the sdk folder I get this error:Only SDK higher than version 3.4.2540 may be added.
    I there a possible way to update the air for android for an fla or apk? Or how can I let my originally file work fine in flash cs6??

    system couldn't find the file
    If you can´t get a more specific hint why your project can´t compile then I can think of some reasons theis error might occur
    1.You had files included besides the swf, like videos, audio files, xml files, that are not present in the place air expects them to be
    2.somewhere in your createWin functions there is a class import needed that isn`t present in 3.2 anymore, for example some classes or functions from classes that were valid in 2.6 are not any more in 3.2
    3. to achieve better eror logging, allow for debugging in the publishing options and see what specific lines in your code throw the error
    4.any air app needs a cert file, this needs to be created once, if you migrated to e new system it might be you never created that file which air expects to even begin the compiling process
    once you isolate the problem, report back

  • Using Flash to develop to games and mobile apps

    This semester I registered for an online course called Motion Graphics with my college.
    The course was supposed to be an introduction to Adobe Flash and Adobe After Effects.
    I signed up for the class specifically because I wanted to learn Adobe Flash to create games and mobile apps.
    Unfortunately, it turns out that as of this semester my college is phasing out Adobe Flash from all of its courses,
    and the course I signed up for is now only teaching After Effects and won't be teaching Flash at all.
    I asked the course instructor about this, and she said it was because "flash can no longer work with creating many "apps" and other applications do not except flash." [sic]
    Is this even a factual statement?
    My college still offers several Java-related courses, but I really would have preferred to learn Flash and ActionScript instead.
    I suppose my primary question here is:
    Would it be better to learn Flash or to learn Java to create apps and games that can run on all of the most common platforms (e.g. Android, iOS, Windows)?

    To be on topic, the course is about "motion graphics", and After Effects is an excellent, highly used tool in that trade. When creating video, Flash is used much less because it's very inferior. Again, in "motion graphics". With a robust expression scripting language in After Effects, Flash lost its footing in this department. Flash was probably only previously part of that course to deploy your video to the web, but it's not necessary or desirable due to (as kglad mentioned) Adobe discontinued Flash Player for mobile. Your target just changed to outputting MP4.
    What you want to do, make apps, is a completely different world. Adobe AIR SDK is a great, frequently updated runtime that I've made dozens of apps with. Java is used with the Android SDK to make native Android apps. Objective-C with Xcode and the iOS SDK is used to make native iOS apps. Visual Studio and Azure (or HTML5/JS/CSS) are used to make Windows apps. The big difference here is the AIR SDK can get a good return on investment from re-using most of the code base of your app (depending on its type) by its scripting language porting to Android, iOS (and I think still Blackberry tabs), not Windows however.
    If you want to make apps, you took the wrong class.
    There are numerous frameworks out there similar to AIR that can deploy to multiple targets that are worth consideration on their own. From specific frameworks (like game-oriented) such as Unity to extremely abstract (used for anything) like Phonegap and standard HTML5 web development.
    I haven't used Flash to make anything like a website in almost a decade. It's strictly been device apps, desktop apps, kiosks and product demonstrations. It's an extremely capable IDE for just about everything, except modern motion graphics.

  • Duplicate session error using Flash Remoting from Air 3.4 Mobile Apps ( IOS and Android ) with CF10

    We're getting the "duplicate session" error using Flash Remoting from Air 3.4 Mobile Apps ( IOS and Android ) with Coldfusion 10 Standard.
    faultCode:Server.Processing.DuplicateSessionDetected faultString:'Detected duplicate HTTP-based FlexSessions,
    generally due to the remote host disabling session cookies.
    Session cookies must be enabled to manage the client connection correctly.' faultDetail:'null'
    Have read most of the docs about this error -all to do with LCDS
    Notes:
    Not using LCDS,
    No Remote Calls from loaded Sub-Apps,
    No Errors from the Flex Web App which is pretty  much identical and calls the same cfcs.
    The error does not happen all the time and is hard to reproduce - say 5% of app sessions at a guess.
    Could it be a two first time remote calls hitting the server together before a session is set up?
    Our remoteObjects are in two places 1) Main Application.mxml and within a class compiled into the main app - can't see how this would be an issue.
    I enabled session management for the CFCs in Application.cfc but still occurs. Is this neccessary - it's not in any docs?
    Could this be something to do with the app not being shut down - as is typical with mobile users? When they resume use after a day or two surely a new session will be created?
    Please advise thank you.

    For our profect I think this issue was caused as follows:
    Believing that remoting was full asynchronous we fired a 2 or 3 remote calls to the server at the same time ( within the same function ) - usually when the users goes to a new section of the app.
    This seemed to trigger the duplicate http session error since according to http://blogs.adobe.com/lin/2011/05/duplication-session-error.html  two remote calls arriving before a session is created will cause 2 sessions to be created.
    Our current solution ( too early to say it works ) is to daisy chain the multiple calls together .
    Also there seemed to be an issue where mobile apps that never quit ( thanks Apple! )  caused the error when activated after a few hours.
    I guess the session expires on the server and the error above occurs on activation.
    So the mobile apps now ping the server with a remote call when activated after sleeping for more than one hour.
    All duplicate http errors are silently caught and reported.
    Fingers crossed we won't get any more!

  • Is there any future in doing mobile development in flash CC

    Hello all,
    I was after peoples thoughts on if there is any future in doing mobile development in flash CC?
    Initially I was quite excited but I have just tried to put something together and have hit some hurdles quickly.
    At this stage the cons seem to be outweighing the pros.
    As I see it
    Pros are.
        •    Multi-platform deployment (write once and output to many devices)
        •    Easy to use flash
        •    Large resource of action-script.
        •    Supported by Adobe (I hope..)
    Cons are
        •    Poor multi touch support (no double tap support)
        •    No easy way of getting user input (as in uipicker etc)
        •    Poor performance (not being native code)
        •    Uncertain future of flash  /  flex
        •    Can not use any flash vector
        •    Dependant on if device will keep allowing flex

    I'd have to adjust that list of cons a bit, going point by point:
    ...no double tap support
    While it's true that not every gesture has been coded in AIR, you can always implement them yourself. In fact the ones you tend not to see are the easiest to implement. Double tab can easily be duplicated by a single object.
    In a view you wish to utilize it you can simply use a single object to store the last object tapped and the getTimer() it was tapped. Adding one more line of code to see if the last time it was tapped was "quickly enough", you'll know if the user double tapped.
    Yes, it's not ideal that they didn't wrap under a dozen lines of code for you, but I wouldn't say it lacks support unless it was either incredibly difficult to implement yourself, or impossible.
    ...as in uipicker etc
    There are (as you said) substantial resources out there for all sorts of Flash based components. They can all be used in your project, just as on the web. You'd be smart to stick to anything GPU accelerated, like FeathersUI.
    That said I'd say there's a LOT more components already developed of all sorts for Flash than any native SDK.
    Poor performance (not being native code)
    Stage3D performs quite amazingly. About as close to native (or better) as you can get, depending on what you're doing. The only difference is you have the power of a familiar multimedia engine wrapped around it so you're not stuck ripping apart native SDK components until they don't look like themselves (otherwise the app looks slapped together).
    I suggest you try the previously linked GPU controls before you think the performance is actually poor.
    Uncertain future of flash  /  flex
    Can't comment here, the roadmap is as unpredictable as the mobile landscape itself. Flash has a ton of uses outside mobile apps or website video/banners. It's used to make kiosks, top tier presentations, learning tools for students new to programming, sophisticated/interactive animations and 3d, etc.
    Flex is completely different.
    Can not use any flash vector
    I'm not sure what you mean by this. I use plenty of them. I typically use the graphics system to draw dytnamic interface elements and then raster them into bitmaps for presentation in Stage3D.
    Dependant on if device will keep allowing flex
    The device doesn't "allow" SWF or Flex. It is compiled down to ARMv7 compatible code. It has no idea what created the code. C++, Obj-c, Java, Perl, Python, Ruby or even LOLScript could be ported as long as the target is ARMv7 compatible code (soon to be ARMv8 64bit, Apple opening that door).
    That all aside, I've definitely been scorched by the differences between implementations of Android and iOS with AIRs limitations. While you're using the majority (hopefully) of your code base for both targets, you will definitely have differences to conform to the platforms needs.
    In the end, having had plenty of experience with the pitfalls of both, I see 2 things, which has already been living amongst us the entire time.
    1) AIR is being used where there is a need that no other runtime fills quite so nicely.
    With Adobe Native Extensions and a sophisticated 2D/3D GPU leveraging multimedia engine behind you, it's hard to find any other authoring environment more desirable.
    Even though Phonegap has native extensions, I think we can all pick out a webpage-as-an-app easily. AIR is far more difficult to spot because your imagination is the limit.
    That said, much like in the beginning, Flash was utilized to solve all our video/audio codec and font problems. We abused and over used it until technology matured so we could properly handle these issues. That leads to:
    2) The web is maturing the requirements of browsers to the point they're becoming multimedia engines or hosts themselves. Requiring them to implement 2D Canvas, WebGL and standardized JavaScript and CSS specification, we're maturing the web enough to replace AIR.
    Now that browsers allow JavaScript to power single application pages (SAP), apps will probably start to fall off in usage, much like the abuse of Flash. Apps only solve a current problem, lack of acceess to capability. Soon we probably won't need Phonegap and native extensions as the only way of developing a truely sophisticated device site.
    I imagine users would rather just use their browser to load a web address which can store everything necessary to operate with offline storage, rather than lurking through a sea of hundreds of thousands (or millions+) apps. And once again people will return to the matured web with little to no need for everything to be AIR, native code or some variant.
    Change is constant..

  • MacBook Pro or MacBook Air for Web & Mobile Development

    Hi  Guys,
    I have always been a PC users since I was young. Currently I do Web Development, HTML, CSS, javascript and Sencha Touch HTML5 mobile app development
    The reason I want to change to a Mac because I need a laptop to travel and work, previously I used a PC work station. The other reason I want to change to Mac was to purchase Apple developer kit and start to develop native iPhone App
    My Options are:
    1) MacBook Air 13 ( 1.8GHz dual-core Intel Core i5 processor , 8GB ram ( Free upgrade promo ), 256GHz SSD
    2) MacBook Pro 15 ( 2.3GHz quad-core Intel Core i7, 8GB ram ( Free upgrade promo ), 500GHz HDD
    3) Retina MacBook Pro 15 ( 2.3GHz quad-core Intel Core i7, 8GB ram, 256GHz SSD
    As the promotion for the ram upgrade are till this week ( except for rMBP ), I need to make a decision quick. I frequently use DreamWeaver, Photoshop and I also do Photography in my pastime. Could anyone advise me on the pros and cons on this. Does Retina MacBook really worth the additional bucks that I put in. Does the web development community going to start using Retina for testing high resolution images needed so early?
    Btw I own a Dell 22.5 inch IPS good LCD monitor
    Appreciate for your help thanks.

    @Bimmer Sorry I was referring to another new Options
    Option 4 ) For this MacBook Pro 15 ( 2.6GHz quad-core Intel Core i7  16GB ram ( Free upgrade promo ).
    Option 2) MacBook Pro 15 ( 2.3GHz quad-core Intel Core i7, 8GB ram ( Free upgrade promo ),
    I can't decide on this. Need you to help me in this.

  • A mic doesn't work. Adobe Flash Player camera and microphone exceptions are different. Please, help!

    Hello!
    The trouble began in Google Hangouts on Air. When I'm in conference room I read that my mic doesn't work. I checked settings, chose "default" one time and my microphone name another time. Both variants don't help. On the right end of an address bar I read this message: "this page has been blocked from accessing your camera and microphone". I clicked it, chose "Allow", after reloading the problem returns. Then I went to Chrome exceptions and allowed my mic on the site.
    In Chrome exceptions menu I read this: "Adobe Flash Player camera and microphone exceptions are different". Though I chose "Allow" in Chrome I can't do it Fllash Player. I did all the instructions which are given to solve audio problems, but it didn’t help. I also wanted to allow excess for my mic on “Website Privacy Settings Panel”, but I can’t find https://plus.google.com in the list to allow (attach a screenshot). I’m out of ideas what else to do. Please, help!

    Hello!
    The trouble began in Google Hangouts on Air. When I'm in conference room I read that my mic doesn't work. I checked settings, chose "default" one time and my microphone name another time. Both variants don't help. On the right end of an address bar I read this message: "this page has been blocked from accessing your camera and microphone". I clicked it, chose "Allow", after reloading the problem returns. Then I went to Chrome exceptions and allowed my mic on the site.
    In Chrome exceptions menu I read this: "Adobe Flash Player camera and microphone exceptions are different". Though I chose "Allow" in Chrome I can't do it Fllash Player. I did all the instructions which are given to solve audio problems, but it didn’t help. I also wanted to allow excess for my mic on “Website Privacy Settings Panel”, but I can’t find https://plus.google.com in the list to allow (attach a screenshot). I’m out of ideas what else to do. Please, help!

  • Flex and mobile development for webOS?

    Do the 'Hero' and 'Burrito' products provide the ability to implement Flex code for the webOS platform?  Or is the webOS platform not supported yet?  If Flex isn't ready for the webOS platform now, then I suppose I will need to use JavaScript and HTML 5 on webOS for now.
    The webOS platform is the go-forward strategy for Hewlett-Packard for both smart phones and tablets.

    The right place to look for updates on Flex is http://flex.apache.org
    The good thing is that activities are still going on. The bad things are that:
    - Unless the dependency to Adobe air is cut, Flex as an open source project is bound to fail imho. See FlexJS for updates on that point
    - Current activties seem to be focused around making things more polished rather than working on hard stuff (typically developing an independent and open source runtime execution engine => flexJS)
    So...
    For a small company, home development, not so business critical applications, I recommend warmly Flex, since it is one of the best (if not the best) cross-platform mobile development environment (Very good performances if used appropriately, very good programming environment, lots of components, structured language, lots of documentation and tutorials, easy to design, etc.)
    for business critical applications... The risk is high !

  • How do I use a headset with separate headphone and microphone jacks on my macbook air

    I have a new macbook air and a headset with separate headphone and microphone jacks. Where (how) do I plug in the microphone jack into the computer?

    This adapter and sufficient length VGA cable is all you need.

  • I upgraded to OS Yosemite on my MacBook Air...and I cannot upgrade the Adobe Flash download that Adobe keeps asking me to download. I get the screen and when I click on the icon it just creates a new window but not download. Thoughts?

    I upgraded to OS Yosemite on my MacBook Air...and I cannot upgrade the Adobe Flash download that Adobe keeps asking me to download. I get the screen and when I click on the icon it just creates a new window but not download. Thoughts?

    I just tried the link and it is just fine. If the GateKeeper pops up then open Security & Privacy preferences, click on the General tab, set the last radio button to Anywhere.

  • Flash Player security Pop up when using camera and microphone.

    Hello Friends
    Can any body suggest me how to remove flash player security pop up for camera and microphone through coding.
    Thanks in advance.

    The security pop-up was first introduced with FP7. If you want to bypass it I can name two ways off the top of my head:
    1. Regardless of ActionScript version (2.0/3.0) in the Flash authoring enviroment, in the Publish Settings dialogue box, the Flash tab, near the bottom choose Access Network Only from Local Playback Security.
    2. Publish your movie as a projector. Both of these techniques will allow to "play" your swf file locally.

  • Service Module / HP Officejet 100 Mobile L411. The Resume and Power lights still flash.

    Replaced Service Module on HP Officejet 100 Mobile L411. The Resume and Power lights still flash. Printer still thinks the Service Module is still almost full. Need assistance.

    roadman18,
    This article should cover the issue you are experiencing. Give the steps outlined under the light patern a shot and let us know if it helps.
    Best of Luck!
    You can say thanks by clicking the Kudos Star in my post. If my post resolves your problem, please mark it as Accepted Solution so others can benefit too.

Maybe you are looking for