Sound delay with air for android

Hi,
I am building a game with air for android, all work just perfect but I have just little problem with the sfx.
When I play sound I have 500 millisecond delay.
I tried to use wav format instead of mp3 and its help a bit but still there is a big delay.
Any ideas?
Thanks

First, never use the nativePath property of File.applicationDirectory (as the example does). This isn't supported on Android. You get an empty string. While you could usually bypass the write-restrictions on te application directory using this technique on the desktop, it definitely does not work on Android. Always use URLs rether than native paths to refer to application files.
What you should do is create the database in the applicationStorage directory. You could do this with SQL, or by coping a "template" database file that you packaged with the application from the application directory o the application storage directory (using the URL not the native path, of course.)

Similar Messages

  • 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

  • Using Google Play Developer License RSA code with Air for Android App?

    What is the procedure for using Google Play Developer's provided license code (Base64-encoded RSA public key to include in your binary) for an Air for Android app in Flash?
    I see the need to load a p12 file and have gone through the process of creating one for Air for iOS with OpenSSL but the Google provided key is in a different format. To start with it is delivered by copy/paste off a webpage.
    I am using Flash CS5.5. I could switch to CS6 if neccesary.
    Thanks

    Follow this link, see post number 12.
    http://forums.adobe.com/thread/1115438

  • 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!

  • Garbled/scrambled text with Air for Android & GPU mode

    Please excuse the big image! Has anyone come across this? As you can  see the 'U' in 'Nebula' is scrambled and so are the digits below best  time.  It only happens within  the space a character would occupy. The line under 'game' is just a reflection.
    I can't work out what's causing it, it's not always the same  characters that do it although the U in Nebula is always scrambled.  Sometimes digits are scrambled and sometimes the same ones are not. It  seems to occur with embedded fonts and with normal ones like Arial. I've  tried using both Classic and TLF text, and changing anti-aliasing  settings. It occurs on both dynamic and static text.
    But it only happens  with GPU rendering, not CPU rendering.
    I can't find any mention of this at all on Google, starting to wonder if perhaps it's just my phone? (Desire S).
    Any input is greatly appreciated!

    Thanks for the fast reply! Switching to device fonts does fix the problem, but it means using some horrible default font rather than the one I want to, which I've embedded. I've tried a few more settings and Bitmap Text seems to fix it in some instances but not in others.

  • AIR for Android monetizing

    I am new to this so forgive me, but i launched a paid version of an AIR for Android App and wanted to launch a free version with ads in an attempt to see how the monetizing of an app goes.  Does anyone have experience doing this with AIR for android?  if so what are my options?
    erik

    After a lot of trouble (account canned on ADMOB ) and research, I have gotten Ads to work in all my Android Apps. This will work on a lot of AD networks, but most will ban you click fraud. Only one network allows this method and they provide support for it too.
    I have over 100 games apps. with this method implemented and working. Here is a link to one of them for you to see how it will look in game. I am using multiple ads in this to force the user to click and make me some money: https://market.android.com/details?id=air.GraffitiCityMarketFree&feature=search_result
    Does LeadBolt offer HTML integration for banner ads?
    LeadBolt does allow banner ads to be integrated into your app using HTML, rather than using our SDK. To create a HTML banner ad after adding an app to the LeadBolt portal, simply click “Add Ad” and select “App Banner (HTML)” from the drop down box. The HTML snippet can then be added directly into your app’s HTML framework.
    So far my eCPM is $6.15
    I have created this guide to show my appreciation:
    Publisher Code:
    STEP I:
    Get an Account: http://leadboltapps.com/web/publishers/signup.php?ref=10022842
    STEP II:
    Click on the “APPS” tab and “Create New APP” to create an AD. Remember to change content unlocker to HTML Banner. While in the process.
    STEP III:
    Get the HTML AD Code and keep it safe. That is all we need from the site. How simple was that?
    AD HTML FILE:
    Create an HTML File and Load it to your site. Remember to replace your HTML Code from above step with where I have put: ****ENTER HTML AD CODE HERE****
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
    <title>Untitled Document</title>
    <style type="text/css">
    body,td,th {
         color: #FFF;
    body {
         background-color: #000;
         margin-left: 0px;
         margin-top: 0px;
         margin-right: 0px;
         margin-bottom: 0px;
         text-align: center;
         position: relative;
    </style>
    </head>
    <body>
    ****ENTER HTML AD CODE HERE****
    </body>
    </html>
    Action Script Code:
    STEP I:
    Credit: I found this on another site and would like to give credit to the author of pixelpaton.com
    The only change you need to make is to enter your website html url where you have placed the AD HTML FILE in the space where I have put : "****ENTER COMPLETE HTML URL HERE****". Where ever you want the AD, place the following code:
    // imports
    import flash.events.Event;
    import flash.events.LocationChangeEvent;
    import flash.geom.Rectangle;
    import flash.media.StageWebView;
    import flash.net.navigateToURL;
    import flash.net.URLRequest;
    import flash.events.MouseEvent;
    // setup variables
    var _stageWebView:StageWebView;
    var myAdvertURL:String = "****ENTER COMPLETE HTML URL HERE****";
                    // check that _stageWebView doersn't exist
                    if (! _stageWebView) {
                                    _stageWebView = new StageWebView () ;
                                    // set the size of the html 'window'
                                    _stageWebView.viewPort = new Rectangle(0,0, 800, 100);
                                    // add a listener for when the content of the StageWebView changes
                                    _stageWebView.addEventListener(LocationChangeEvent.LOCATION_CHANGE,onLocationChange);
                                    // start loading the URL;
                                    _stageWebView.loadURL(myAdvertURL);
                    // show the ad by setting it's stage property;
                    _stageWebView.stage = stage;
    function toggleAd(event:MouseEvent):void {
                    trace("toggling advert",_stageWebView);
                    // check that StageWebView instance exists
                    if (_stageWebView) {
                                    trace("_stageWebView.stage:"+_stageWebView.stage);
                                    if (_stageWebView.stage == null) {
                                                    //show the ad by setting the stage parameter
                                                    _stageWebView.stage = stage;
                                    } else {
                                                    // hide the ad by nulling the stage parameter
                                                    _stageWebView.stage = null;
                    } else {
                                    // ad StageWebView doesn't exist - show create it
    function destroyAd(event:MouseEvent):void {
                    // check that the instace of StageWebView exists
                    if (_stageWebView) {
                                    trace("removing advert");
                                    // destroys the ad
                                    _stageWebView.stage = null;
                                    _stageWebView = null;
    function onLocationChange(event:LocationChangeEvent):void {
                    // check that it's not our ad URL loading
                    if (_stageWebView.location != myAdvertURL) {
                                    // destroy the ad as the user has kindly clicked on my ad
                                    destroyAd(null);
                                    // Launch a normal browser window with the captured  URL;
                                    navigateToURL( new URLRequest( event.location ) );
    // setup button listeners
    Hope this works and helps you. If you have questions, let me know. Enjoy.

  • Issue with Amazon and AIR for Android

    It appears that Flash Pro CS5.5 does not create .apks properly for the Amazon Appstore. The airDownloadURL is incorrect according to Amazon and your app will likely be rejected if you try to submit it to them. In the AIR for Android Settings, when you choose "Get AIR runtime from: Amazon Appstore" in the Deployment tab, the link Flash Pro uses for the airDownloadURL property is:
    http://www.amazon.com/gp/mas/dl/android/com.adobe.air
    when it should be this:
    http://www.amazon.com/gp/mas/dl/android?p=com.adobe.air
    As far as I can tell, there is no way to edit this within Flash CS5.5 so Adobe needs to make the change in a future update. The only way I know of around this is to create your .apk manually through the command line using the AIR SDK. It should look something like this:
    adt -package -target apk -airDownloadURL http://www.amazon.com/gp/mas/dl/android?p=com.adobe.air -storetype pkcs12 -keystore certificate.p12 filename.apk filename-app.xml filename.swf icon36.png icon48.png icon72.png
    If you don't have any experience using the AIR SDK then do some searching online. There are a ton of good resources out there.
    Good luck!
    tomdei

    For me works editing of Markets.xml file at:
    "C:\Program Files\Adobe\Adobe Flash CS5.5\en_US\Configuration\Android\Markets.xml"
    and replacing of Amazon Appstore key to
    <market name="Amazon Appstore" url="http://www.amazon.com/gp/mas/dl/android?p=com.adobe.air"/>
    That's all!

  • AudioPlaybackMode.Voice on Air for Android

    Im developing an Air for Android App using Air 17 that is basically a VOIP phone. Im trying to get the Audio to come through the earpiece using the following code: SoundMixer.audioPlaybackMode = AudioPlaybackMode.VOICE; SoundMixer.useSpeakerphoneForVoice = false;
    It seems to work until I start talking into the built in Mic from my android device, the audio just stops functioning all together. I tested the AudioPlaybackMode.Voice on another simple app I made where it just plays a sound file and it works perfectly.
    Can anyone provide me with some insight of why this is happening or give me any advice on how to debug this issue? Thanks

    Make sure that were your tutorial code uses startDrag() /stopDrag()
    that you use: startTouchDrag()/stopTouchDrag()

  • 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);

  • Echo cancellation in AIR for Android?

    We are developing a videoconference app with versions for android and web. In android we have a lot of problems with echo cancellation, as it is only supported for desktop apps in Air 2.7 and 3.0
    We have tested different codecs (speex, nellymoser), and also different mic gains, noise level sounds... but not achieved an reasonable quality.
    Any recommendation about the best combination of parameters ?
    Any idea if echo cancellation for mobile will be in Air 3.2 SDK for android ?
    Thank you very much

    I think that with the current state of the Adobe AIR Adobe FLash platforms, there is too much work to do to get echo cancellation to work on all platforms, and to get video to work as expected too. I think Adobe could solve many of these issues by implementing native WebRTC into the AIR platform, see this post here:
    http://forums.adobe.com/message/6232094#6232094

  • AIR for Android Captive Runtime

    Is it possible to package android apps with AIR (or will it be) using Flash CS5.5? I don't see anything on the web about. Just how to do it with Flex and ADT etc...

    Hi,
    I've made a complete working example for publishing an application with captive runtime, assets and native extensions starting from Flash CS5.5
    I was able to make it thanks to hints and suggestions I found in this thread.
    Note: english is not my native tongue so I hope you understand what I've written also if sometime it sounds "engrish".
    Here it is the link to the zip file:
        http://www.genereavventura.com/hosted/Air3NativeExtensions/AirVibrate.zip
    Requirements:
    - You must have Flash cs5.5 pro (obviously)
    - You must have installed the overlay for Air3.0 sdk on your Flash cs5.5 pro
    Here it is a link that explain how to accomplish it: http://forums.adobe.com/message/3939712
    Here the steps I made.
    1) Open Flash CS5.5 and create a new AIR for Android application
    2) Add the swc to the libraries used by your FLA (open Actionscript 3.0 settings and add "VibrationActionScriptLibrary.swc")
       Btw, you can find this "ready to use" native extension inside the zipfile that you can download from here: http://www.adobe.com/devnet/air/native-extensions-for-air/extensions/vibration.html
       However in my example you will find also a directory named "extension" that contains it.
    3) Open and then close the "air for android settings": by doing this Flash will create yourapp-app.xml file in the directory where your FLA resides.
       For example my fla is named "vibrate.fla" so Flash created for me a "vibrate-app.xml" file.
    4) Make a copy of this "vibrate-app.xml" file by naming it "real-vibrate-app.xml" (or choose whatever name you want)
       I've done this because after modyfing the original one by adding the <extension> tag (see below) I wasn't able to test my app from within Flash IDE (when I compile it it simply doesn't start)
       Instead by doing this all worked fine.
    5) Edit the "real-vibrate-app.xml" file by adding somewhere these lines (I added it just before the <initialWindow> tag)
        <extensions>
          <extensionID>com.adobe.Vibration</extensionID>
        </extensions>
    6) Add <uses-permission android:name="android.permission.VIBRATE"/> in the <android> <manifestAdditions> part in "real-vibrate-app.xml" file.
       You should do something like this:
       <android>
          <manifestAdditions>
            <![CDATA[<manifest>
              <uses-permission android:name="android.permission.VIBRATE"/>
            </manifest>]]>
          </manifestAdditions>
       </android>
    7) Develop your application
       I made a simple one that loads an external jpg and shows it on the stage: then the user can tap on it to make the phone vibrate.
       The function "doVibration" is called only when the app is running on Android Device so I do not get any executions error when I run the app from within Flash Ide
    8) Publish and test it to your USB connected device by launching the "publish.bat" file I have created
       Open a dos prompt and move to your project directory then type publish.bat and press enter.
       Note: it can be that you have to edit the bat file in order to change the path to the ADT tool that comes with Air3.0 sdk
       It should be in [your adobe flash cs5.5 directory]\AIR2.6\bin\adt (rememeber, you must have installed the Air3.0 sdk overlying the old Air2.6/2.7 in the AIR2.6 directory)
       Inside the bat file you can change easily the target type (captive or not) simply by commenting/decommenting the right line.
       Captive version is about 8Mb more than the normal one but the big deal is that the user that installs it do not need the air runtime installed on his phone!
       The "big line" that creates the package is the following one:
       call %ADT_LINK% -package -target %TARGET_TYPE% -storetype pkcs12 -keystore certificate/vibrate.p12 -storepass android AirVibrate.apk real-vibrate-app.xml -extdir extensions vibrate.swf icons assets
       where:
       call %ADT_LINK%          it's just the path to the ADT tool
       -package                 it's the command that we want ADT to execute
       -target %TARGET_TYPE%    captive/non captive version
       -storetype pkcs12        certificate related
       -keystore certificate/vibrate.p12  path to your self signed certificate
       -storepass android       certificate related, I created the example certificate with "android" password and this parameters tell ADT to always use it without prompting
       AirVibrate.apk           the name of the Apk
       real-vibrate-app.xml     the apk-xml to use that is the one we modified manually above
       -extdir extensions       it's the path to the directory that contains the native extension
       vibrate.swf              the main swf
       icons                    the icons directory
       assets                   the assets directory (where I put the external jpg)
    That's all.
    If everything is correct, the batch file creates the AirVibrate.apk then installs it on your attached usb device and run it.
    When you tap over the Android image that will appear, your phone should vibrate.
    Now.. does someone wants to develop a Native Extension to show Admob banners in our Android Air Applications?
    If I missed something, please let me know.
    Thanks

  • AIR for Android: Streaming audio data won't stop unless I quit....

    I write an application (AIR-Android with Flash Builder) which can play internet radio stations (streamed audio in mp3).
    When I want to stop the stream like myChannel.stop() / mySound.close(); the sound is stopping but the stream is still loading (I can see it with a network monitor app).
    Streaming audio data won't stop unless I quit the application or I switch my connection from WIFI to 3G or from 3G to WIFI.
    I do not have this problem with Air for Mac and IOS.
    How can I solve this problem ?
    Bernard

    Hi Chris,
    I received a response from a certain Wang Zhe (from Adobe) about this bug.
    https://bugbase.adobe.com/index.cfm?event=bug&id=3070987
    It should provide an example of his test that apparently it worked but I have still no answer from him.
    Is it possible to contact him directly?

  • 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

  • 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

  • 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

  • I\updated bios earlier from and now my paviliong6 skype mic is not working. other side can't hear?

    Installed a BIOS update earlier and another driver update(do not recall which) and now my microphone does not seem to work with skype. The other side does not hear me. OS win7 64 home premium. HP pavilion g6. No disk issues or any other application l

  • How to execute PL/SQL and branch in APEX 3.0

    I have written an APEX app with the following pages: 1 - Main page with a "start" button that navigates to page 2 2 - Page with a Branch "Branch to function returning a page", which has PL/SQL that returns '3' if successful or '4' if there is an erro

  • Not able to download all the stubs using the WSDL provided for Contact.

    Hi All, I am using wsdl2java to download stubs from the wsdl for contact using axis. But i am not able to download all the files from the wsdl. I am not able to see ListofContactData.java file in the stubs created,but i a can see in the that in wsdl.

  • Which is better choice? z10 or z3?

    Guys I'm a huge fan of blackberry devices and I decided to buy one. This will be my first blackberry device. I'm greatly concerned about the battery life and performance. In these aspects which phone is better? Z10 or Z3? I'm from India and both thes

  • My trash refuses to empty. I'm running Mac OS X 10.7.3.

    Hi, My trash refuses to empty, even when left running overnight. It just seems to freeze and make the computer run really slow. The only way out is to keep the power buton pressed until the computer restarts. It says there are approx 1600 items now i