AIR for Android - best video specs?

Hello everyone,
I'm trying to develop a custom video player app using the AIR for Android extension in Flash Pro CS5.
I tried out an FLV and an MP4 video with the most stripped back code snippet, but the video still seemed a bit jerky on my phone. (Samsung Galaxy S)
// Code
var video:Video;
var connect_nc:NetConnection = new NetConnection();
connect_nc.connect(null);
var stream_ns:NetStream = new NetStream(connect_nc);
stream_ns.client = this;
video = new Video();
addChild(video);
video.attachNetStream(stream_ns);
stream_ns.play("video.flv");
Would anyone know what the ideal encoding specs are for non-jerky video? Is it something to do with H.264, or perhaps CPU vs GPU? (I tried that too, with no visible difference.) Even with the app running at the appropriate frames per second (in this case, 24fps), the video seemed less than smooth.
Any comments would be much appreciated!

Hi [email protected]
These should help you:
http://www.adobe.com/devnet/devices/articles/encoding-guidelines-android.html
http://www.adobe.com/devnet/devices/articles/video-player-optimization.html
regards Mike

Similar Messages

  • AIR for Android App - Video Issue

    Hi all,
    I've developed a Air for Android application targeted specifically for Samsung N 800.
    There is a section in the application that has a list of Thumbnails and the user can click on any thumbnail and Play appropriate video.
    When playing the video, there is a Close button and Next / Back buttons available on the screen to handle respective actions.
    The issue with the app is that, when the Video is playing, if I hit the Home button available on the Tablet, the app minimises. Now if I maximize the app from the System Tray or reopen the App from the Menu, the video continues to play, but this time the Video overlaps the Close and Next / Back, so the user is not able to close the video what so ever.
    The same issue occurs when I access any of the buttons available on the Tablets system bar on the bottom of the screen.
    Any help will be much appreciated

    I'm not sure if I completely understand you, but if I do, you want to check the Exif info to see how the image is oriented, then rotate it to show it how you want on the screen. Take a look at this post here: http://forums.adobe.com/thread/875157 it may help with doing what you need. It's a little tricky and works differently for iOS and Android, but not too hard to figure out. Also, in the future, you may have more luck getting some decent answers by posting in this forum: http://forums.adobe.com/community/air/development/mobile?view=discussions

  • Air for Android no video playback controls

    Hi there
    I'm using Flash Professional CS5.5
    I'm currently developing a Android app, I've imported a video clip using the import video wizard.
    I've tested it by publisihng it to my Android device, the video clip plays fine but there are no play/pause buttons underneath the video clip.
    I'm a newbie so I'm unsure as to what to do, as I thought it would just be there as I selected a skin, If I publish preview it on my PC, the controls are there.
    Any help would be much appreciated.
    Mark

    Hi [email protected]
    These should help you:
    http://www.adobe.com/devnet/devices/articles/encoding-guidelines-android.html
    http://www.adobe.com/devnet/devices/articles/video-player-optimization.html
    regards Mike

  • Best practice for images. Air for Android

    Hey guys...
    I was thinking about the best solution when it comes to images storage for Air on Android.
    Since I dont have much experience with non-web based apps, I thought of two way and I would like to know your thought on them.
    1.Application Storage Directory. If I get it right, this folder is created when the app is installed and the project can access files in it. Any idea on how this can work with images?
    2.Database. My app uses a local database anyway so maybe that the proper way to do it. I've done some research and found out that the image must be converted to a byte array (thats easy) but then I dont have a clue on how to save it to the database.
    So? Which one is better for the mobile world?
    Also, if there are other ways let me know please.

    While I am no expert in this area, I did run across this blog:
    http://www.remotesynthesis.com/post.cfm/local-caching-of-remote-images-in-air-for-android
    It deal with local caching of remotely loaded images.  Should be exactly what you are looking for.
    Darren

  • AIR for Android video issue

    On Android, in an app that I’ve developed successfully for iOS, I’m seeing this problem:
    There are 5 videos built-into the app. On Samsung phones (S3 and S4), running Android 4.4.2, at the first attempt to play a video there’s sound but no picture. After returning to the video menu and attempting again, video and sound play normally. If a video is stopped and another one is started, initially a frame of the previous video is displayed (for a fraction of a second), then play resumes normally with the chosen video.
    The sound-but-no-video problem does NOT show up on a Nexus 7 running 4.4.3, although the flash-frame problem does.
    I’m publishing with AIR SDK 15 packaging both with and without captive runtime to try to isolate the source of the problem. I’m using <contains video> true </contains video> in the descriptor.
    This feels like AIR-for-Android buggishness. Any confirmation out there? Similar problems? Workarounds?
    I’ve read somewhere that AIR runtime  v.3.3 may solve some video problems on Android, but not sure where to find an archived Android version of AIR that old.

    Well, as it sometimes happens with me, I have spoken too soon. The answer that I marked as ‘correct’ the other day (Colin, are you there?), seems to be not quite the right answer. At least, it doesn’t solve the video problem that I’m having with some, but not all, Android devices.
    After trying Colin’s suggestion – using  if (stage.stageVideos.length != 0) to make sure that a stageVideoAvailabilityEvent hasn’t already fired when I try to play my first StageVideo instance – and getting perfect results in 10 consecutive tries on my Samsung S4 and S3 phones, I figured that was IT.
    Next day, same devices and same code, it DIDN’T work! I pulled hair, issued profanities, hammered on the table. It didn’t matter—I still got a ‘mis-fire’ on the first play of a video whenever (almost whenever) I opened the app. After the first play everything was good – which is the exact problem that I started with many days ago. When I played Colin’s Sesame Street ‘Let’s Get Ready’ app again – the same first-play-of-video problem shows up there too.
    This problem does not show up on Nexus 7  and the Samsung Galaxy 5 Tab. It is a royal p.i.t.a. on Samsung phones, where I need my app to work.
    I created a bare-bones app to reproduce the problem, code below. Just a single class to play a single video with no controls. A few parameters (path to the video, and viewport stuff) are passed in from the document Class. I run it 10 times on my S4. It fails 7 times and plays well 3 times. The 'initialize2()' function never fires, proving that the stageVideos array already exists by the the time the 'initialize1()' function is called.
    I'm pretty sure that this is not a coding problem (because it works well on some Androids and in iOS), but WHAT is it??
    package vidTestSource
      import flash.desktop.NativeApplication;
      import flash.desktop.SystemIdleMode;
      import flash.display.MovieClip;
      import flash.display.Sprite;
      import flash.display.StageAlign;
      import flash.display.StageScaleMode;
      import flash.events.Event;
      import flash.events.NetStatusEvent;
      import flash.events.StageVideoAvailabilityEvent;
      import flash.geom.Rectangle;
      import flash.media.StageVideo;
      import flash.media.Video;
      import flash.media.StageVideoAvailability;
      import flash.net.NetConnection;
      import flash.net.NetStream;
      public class MobileVideosolo extends MovieClip
          public var stream:NetStream ;
          public var video:StageVideo;
          var xx:Number;
          var yy:Number;
          var ww:Number;
          var hh:Number;
          var mymoov:String;
      public function MobileVideosolo(mymoov,xx,yy,ww,hh)
          this.xx = xx;
          this.yy = yy;
          this.ww = ww;
          this.hh = hh;
          this.mymoov = mymoov;
         addEventListener(Event.ADDED_TO_STAGE, onstage);
    function onstage(e)
        if (stage.stageVideos.length != 0)
           initialize1();
         else
          stage.addEventListener(StageVideoAvailabilityEvent.STAGE_VIDEO_AVAILABILITY, stageVideoState );
    function stageVideoState(e)
           initialize2();
           stage.removeEventListener (StageVideoAvailabilityEvent.STAGE_VIDEO_AVAILABILITY, stageVideoState);
    function initialize1()
          var nc:NetConnection = new NetConnection() ;
          nc.connect(null) ;
          stream = new NetStream(nc) ;
          stream.client = this ;
          video = stage.stageVideos[0] ;
          video.viewPort = new Rectangle(xx,yy,ww,hh) ;
          video.attachNetStream(stream) ;
          stream.play (mymoov) ;
          MovieClip(parent).sVtext.text = "Init 1";
          stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
    function initialize2()
        var nc:NetConnection = new NetConnection() ;
         nc.connect(null) ;
         stream = new NetStream(nc) ;
         stream.client = this ;
         video = stage.stageVideos[0] ;
         video.viewPort = new Rectangle(xx,yy,ww,hh) ;
         video.attachNetStream(stream) ;
         stream.play (mymoov) ;
         MovieClip(parent).sVtext.text = "Init 2";
         stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);

  • Best way to preview AIR for Android projects for different devices?

    So if I am developing an AIR for Android app, is there a good, simple way to preview the app on any android device? I have installed it on my phone of course, but is there a simulator/emulator of some sort available so we can see how it would look on both an Android phone and a tablet? Thanks in advance to anyone who can help!

    DPI aside, you can just set your resolution on the project to the target devices resolution to preview how it will look. While vectors will render much smoother on the device (higher DPI), it's a very easy way to target various resolutions for testing.
    If you have the full CC suite you might want to consider using Flash Builder 4.7 which has many different device presets and allows you to create your own presets to mimic tablets and phones. It really depends how complex your project is to move over to FB.

  • 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

  • Adobe Air for Android - caching key event that have "unusual" keycode

    I am developing an application for a platform. The OS of this platform is Android Gingerbread (2.3.4) The platform has some buttons with "unusual" key code: 141, 131 etc.
    Native application that created in ADT can catch and respond to these keyboard events While my Adobe AIR application (created in Flash professional) are Indifferent to them.
    I try both: stage.addEventListener(KeyboardEvent.KEY_DOWN,KeyHandler,false,0,true); NativeApplication.nativeApplication.addEventListener(KeyboardEvent.KEY_DOWN,KeyHandler,fa lse,0,true);
    How can I "catch" this event? Maybe a way to add constant to the keyboard class?
    Thanks

    If you are deploying for iPhone it is on the 'general' settings(First setting page opened).
    Just noticed you are making android app but i still added iphone deployment settings for further future
    But if you are using it for flash/android you have to add code into your fla descriptor with XML language(dont worry it is 1 line of code)
    Watch the video on this page about GPU rendering:
    http://blogs.adobe.com/cantrell/archives/2010/10/gpu-rendering-in-adobe-air-for-android.ht ml
    Your app shouldn't lag after these steps but if you have a project that gets bigger and has lots of code it MIGHT lag so that is when external files should help.

  • Air for Android Extremely Slow...

    Hey everybody,
    Hopefully some of you have been trying the prerelease of Air for Android like myself. Its all great and easy peasy to export the apps to my phone but it seems to be ridiculously slow even for seemingly simple scripts.
    This is what i'm trying to run at the moment and the app times out before it gets running (All the apps do get running eventually but only after the time out timer could have run over multiple times).
    import flash.display.Shape;
    import flash.events.Event;
    import flash.sensors.Accelerometer;
    import flash.events.AccelerometerEvent;
    var vx:Number = 0;
    var vy:Number = 0;
    var s:Shape = new Shape;
    s.x = stage.stageWidth/2;
    s.y = stage.stageHeight/2;
    with (s.graphics)
        lineStyle(3,0);
        drawCircle(0,0,5);
    addChild(s);
    var accel:Accelerometer = new Accelerometer();
    addEventListener(Event.ENTER_FRAME, onFrameLoop);
    accel.addEventListener(AccelerometerEvent.UPDATE, onAccelEvent);
    function onAccelEvent (evt:AccelerometerEvent):void
        vx += evt.accelerationX;
        vy += evt.accelerationY;
    function onFrameLoop (evt:Event):void
        s.x = Math.round(s.x + vx);
        s.y = Math.round(s.y + vy);
    From what I can see theres nothing actually wrong with the code from what I can see but it just takes so frickin' long to load. If I make an app with some equally simple animations it loads almost instantly. I am aware that this is only a prerelease version of the software and the documentation does say that hardware acceleration has not been added yet but whenever I watch the videos up on youtube of the Adobe team making amazing apps with obviously buckets of script running smoothly on their phone I get annoyed
    P.S The processor on my phone isn't the problem either (Nexus One Eclair )

    If you are deploying for iPhone it is on the 'general' settings(First setting page opened).
    Just noticed you are making android app but i still added iphone deployment settings for further future
    But if you are using it for flash/android you have to add code into your fla descriptor with XML language(dont worry it is 1 line of code)
    Watch the video on this page about GPU rendering:
    http://blogs.adobe.com/cantrell/archives/2010/10/gpu-rendering-in-adobe-air-for-android.ht ml
    Your app shouldn't lag after these steps but if you have a project that gets bigger and has lots of code it MIGHT lag so that is when external files should help.

  • Flash cs5.5 FLVplayback Encoding Problems with Air for Android

    Dear All,
    I'm trying to play flv in my air application by using FLV playback in flash cs5.5.
    I can play flv in the pc but not on the samsung galaxy tab andriod platform.
    if anyone out there has tried out FLV playback with either an Air For Android application, where the FLV files are packaged within the app, or either streaming via normal http//:, any help  would be greatly appreciated.
    Thanks!

    First disable autoplay. It gave errors for me. Try to make the movie play with the play() command.
    to embed the movie in your air bundle, just go to publish settings for your flash project. Then in that screen go to the player settings.
    In the first GENERAL tab you'll see a the bottom that you can add files to your project
    Propably there is allready your .swf and an .xml file in there.
    Using the + icon you can add your video.
    Make sure that your video is in the same directory as your . FLA file and you can use it as is (by name)
    If for example your flashfile is in c:\mytest\mytest.fla and the video in c:\mytest\videos\myvideo.flv , then you will have to load your video as "videos/myvideo.flv" with a FORWARD slash, never use \
    Good luck

  • Download Flash/AIR for Android, where?

    When I go to Adobe's download center I don't get an option for Android download.
    So from where exactly I can download Flash player and AIR for Android ?
    Thanks

    Adobe Flash Player and AIR for Android are available directly from the Android Market on supported Android devices.  If you are unable to find Adobe Flash Player in the Market, the most likely reason is that your device does not meet the minimum system requirements.
    Specifically, Flash Player requires a CPU with support for the ARMv7-A instruction set to achieve the level of performance required for acceptable multimedia playback.
    Your device has an ARM11 CPU, which only supports the ARMv6 instruction set.
    For future reference, Adobe maintains a list of devices certified to work with Adobe Flash Player and AIR here:
    http://www.adobe.com/flashplatform/certified_devices/
    You might want to give Skyfire a try.  It uses "remote desktop" technology to render Flash animation and video in the cloud, for devices that are incapable of processing Flash content natively:
    https://market.android.com/details?id=com.skyfire.browser&feature=search_result

  • How to add Google Ads or similar in "AIR for Android" application?

    Hello,
    I have developed my android application (AIR for Android) in Flash Professional CS5.5. It's completed and fully tested on multiple android phones. Now I want to add Google Ads in my application to make some money.
    What I already know:
    I know that Adobe provides AdMob native extension API which allows you to add Google Ads in your app. But unfortunately, it's not free.
    What I want:
    I want a free resource through which I can add ads in my application.
    Please guide me how can I achieve this?
    Thanks in advance,
    momersaleem

    Yes, its for me broken, too.
    I found the link in this thread:
    http://forums.adobe.com/message/4036804
    Maybe try to contact the author or one of the thread participants for an unbroken version?

  • Air For Android - Full Screen not working

    Opened CS5.5 > Chose "Air For Android" which gave me a stage dimension of 480x800 default. I then created my app.
    I am using a Droid Bionic and testing my app on it. It will not go to full screen, regardless of how I am holding the Droid. When publishing, I clicked "Full Screen" and Portrait, Landscape, Auto Orientation, etc. I tried all of the publishing options, yet still there is white screen on the eastern and southern side of the screen.
    I have a picture on the main screen, and it fits perfectly within the 480x800 dimmensions when playing in Flash. After publishing to an APK file and testing it on Droid, I have that white space as mentioned, as if the stage size grew larger than the picture / app. I also shrank the stage(480x800) dimensions to to (340x600) , but still the same amount of white space. When I move the picture to the right a bit, and publish, it shows the white space on the left hand side of the stage. This can only mean that when I publish, the stage size grows but everything on the stage stays the same. 
    Any ideas?
    Thanks!

    I removed:
    stage.scaleMode = StageScaleMode.NO_SCALE;
    stage.align = StageAlign.TOP_LEFT;
    from AS3 and it works better. Now there is even white space on the north and south side of the screen. Clicking "Full Screen" in the publish settings, makes a little more white space, which is weird. It as if now the stage is expanding its height, rather than its height and width due to me using the above code. Still, would like to get rid of that extra white space.
    Edit: It looks like the stage height grew by 60. If I expand the picture by 60, placing it on the stage at 0x and -30y, it fits fine on the bionic. I don't understand why this is happening, and scared that it may be different for each device.

  • APP created with Air for Android but doesn't work on the emulator for test - Help!

    When I create an application using Flash CS5.5>>> AIR FOR ANDROID.
    After creating a test page I go to publish settings and send the app on Emulator RELEASE ... The APP is loaded correctly but as soon as you start the emulator, give this error "The application XXnameappXX (process air.XXnameappXX) has stopped unexpectedly. Please try again" Help Please!

    Ok i've find this before "Adobe Flash CS5/AIK2.5/runtimes/air/android/emulator/Runtime.apk" and install it on android emulator! Now works all i hope! Thanks for your answer!

  • Adobe AIR for Android - GPU Mode - Bitmap Auto-Smoothing Issue

    Hi everyone
    I'm having a bit of an issue with the AS3 bitmap object. I'm currently developing an 8-bit style pixel game for AIR for Android.
    This game is being developed at a very low resolution and is being scaled up to maintain the charm of an old retro game.
    One of the methods I'm using is drawing pixels directly to bitmap objects and scaling the object up to create the old look.
    When testing on a mobile device, this works beautifully when you set the rendering method to Direct but when you change
    the render method to GPU the visuals go all blurry and anti-aliased (it's as if the bitmap is being smoothed out). The mini map
    for example is rendered using the setPixel method and then scaled up 9 times. Looks great on my PC but once I export it to my phone
    it looks absolutely awful! This is no good as I want to keep the clean, solid pixel look to maintain the the old 8-bit feel and obviously
    I'd like to stick to GPU mode due to it's speed.
    Like I said, this only happens once you test on a mobile device in GPU mode - it doesn't do it on my main desktop machine or
    in Direct mode. I already have the stage quality set to low and I've tried setting the bitmap's smoothing property to false but
    it does nothing.
    Does anyone have any suggestions as to how I can get around this?

    How about first blit your image to a small bitmapData, then draw it on a large bitmapData (9X larger)?
    Like,
    var small_bmd:BitmapData = new BitmapData(SMALL_WIDTH, SMALL_HEIGHT, false);
    var large_bmd:BitmapData = new BitmapData(SMALL_WIDTH * 9, SMALL_HEIGHT * 9, false);
    var bm:Bitmap = new Bitmap(large_bmd, PixelSnapping.NEVER, false);
    var blitRect:Rectangle = new Rectangle(0, 0, 9, 9);
    var i:uint, j:uint, blitColor:uint;
    small_bmd.draw(SOURCE_IMAGE);
    large_bmd.lock();
    for(j = 0; j < SMALL_HEIGHT; j++){
         for(i = 0; i < SMALL_WIDTH; i++){
              blitColor = small_bmd.getPixel(i, j);
              blitRect.x = i * 9;
              blitRect.y = j * 9;
              large_bmd.fillRect(blitRect, blitColor);
    large_bmd.unlock();
    Not sure if the code works or not, but hopefully this helps.

Maybe you are looking for

  • About  Fixing of Exchange Rate

    hi i has purchase order with usd purchase order currency ,i used Fixing of Exchange Rate with this purchase order with fixing exchange rate for good receipt. as sap said "If you fix the exchange rate, the purchase order currency and the exchange rate

  • APP for iMac?

    Hello, I just bought the APP for iMac becuse it was a brilliant deal on eb and way cheaper than the uk.Anyway one question about Techtool deluxe ...is it usefull and does it do a similar if not better job the OnyX becuse I have used that for a long t

  • [10.9] How to fix corrupted system frameworks

    Now, I am a particularly experienced mac user, but this problem is completely out of my depth. I use a Mac Mini 5,2, and keep its software as up to date as possible.  I have configured the system for maximum performance, using utilities like SMCFanCo

  • XML Publisher Data Template Executable Options

    Hello, Can someone help me find some documentation on how to decipher what the Options parameter on the XDODTEXE executable is. Someone has created a concurrent program, and set the options to : -Xss2048k -Xmx512m Tried googling with no luck....anyon

  • Does BusinessObjects 5.1 can run on an Oracle database 10g?

    Hello, Can anyone tell me if BusinessObjects 5.1.6 can run on an Oracle database 10g? Thanks in advance for your answer Thierry