2.6 C
New York
Friday, February 3, 2023

Buy now


AS3 Talking Avatar lib for Android iOS and desktop


Supported devices:

on any Android or iOS devices that supports Air apps  :)

Files Included:

  • .as3proj (FlashDevelop AIR sample project)
  • .as (source codes)
  • Five sample vector avatars
  • asDoc type Documentation

Browser based sample

Sample Android App

with using this little but cool library, you will be able to initialize a talking avatar in your Air mobile projects. You will be able to choose from current available avatars in your “bin” folder and insert your own voice .mp3 file and then addChild the Avatar class anywhere in your project and you’re done.

     import com.doitflash.utils.avatar.Avatar;
     import com.doitflash.utils.avatar.AvatarEvent;

     // set Class variable
     var _avatar:Avatar;

     // initialize a _holder. avatar will be addchilded in _holder.
     // _holder must have a specific width and height so we create a new Shape() in the _holder
     var _holder:Sprite = new Sprite();
     var rect:Shape = new Shape();
     rect.graphics.beginFill(0xf64a5f, 1);
     rect.graphics.drawRect(0, 0, 400, 600);
     _holder.x = 100;
     _holder.y = 100;

     // initialize the Avatar
     _avatar = new Avatar();

     // add a listener to be notified when the avatar is loaded
     _avatar.addEventListener(AvatarEvent.LOADED_AVATAR, onLoadedAvatar);

     // add a listener to be notified when the mp3 file is loaded
     _avatar.addEventListener(AvatarEvent.LOADED_VOICE, onLoadedVoice);

     _avatar.holder = _holder;
     _avatar.avatarUrl = "WomanAvatar.swf"; // set the address to the avatar graphic you'd like to use
     _avatar.voiceUrl = "test.MP3"; // set the address to the mp3 file which you like to use for lip-syncing

     // call this method and load the avatar graphic begins

     private function onLoadedAvatar(e:AvatarEvent):void
             // call this method and load the mp3 file begins

     private function onLoadedVoice(e:AvatarEvent):void
             trace("sound length: ", e.param); // mp3 length is based on miliseconds

             // use this listener to be notified when the mp3 playback is finished.
             _avatar.addEventListener(AvatarEvent.SOUND_PLAY_FINISHED, onPlayComplete);

             // call this method and the mp3 file starts playing

     private function onPlayComplete(e:AvatarEvent):void

     // call this method to pause the mp3 file while playing and it returns the millisecond position of the sound.
     // you can use this position to play the mp3 again and start from where it was paused.
     // var position:Number = _avatar.pause();
     // _avatar.play(position);
     // call this method to stop the sound.
     // _avatar.stop();

     // When you're done with this class, call this method to clean up the memory.
     // _avatar.dispose();


Related Articles


Please enter your comment!
Please enter your name here

- Advertisement -

Latest Articles

Latest Articles

Elements photos