AS3 falando biblioteca Avatar para Starling

LIVE PREVIEWBUY FOR $18

Dispositivos suportados:

Em qualquer dispositivo Android ou iOS que suporta aplicativos aéreos  :) além de aplicativos de desktop Starling

Arquivos incluídos:

  • .AS3PROJ (projeto de amostra de ar flashDevelop)
  • .As (códigos de origem)
  • Cinco Avatares de vetor de amostra
  • documentação do tipo ASDOC

Confira a versão sem estrela aqui

Exemplo de aplicativo Android

Com o uso desta biblioteca pequena, mas legal, você poderá inicializar um avatar falante em seus projetos móveis Air Starling. Você poderá escolher entre os avatares atuais disponíveis na pasta “Bin” e inserir sua própria voz .mp3 e addchild a classe Avatar em qualquer lugar do seu projeto e terminar.

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

     // set Class variable
     var _avatar:StarlingAvatar;

     // 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.addChild(rect);
     _holder.x = 100;
     _holder.y = 100;
     this.addChild(_holder);

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

     // 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
     _avatar.loadAvatar();

     private function onLoadedAvatar(e:AvatarEvent):void
     {
             // call this method and load the mp3 file begins
             _avatar.loadVoice();
     }

     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
             _avatar.play();
     }

     private function onPlayComplete(e:AvatarEvent):void
     {
             trace("onPlayComplete");
     }

     // 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();

Utilizamos a biblioteca DMT para gerar texturas dinamicamente usadas no Starling: https://github.com/xtdstudios/dmt


Source