logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!

Acessando a camera do celular com Adobe AIR for Android

Colocado por Leonardo França na(s) categoria(s): .NET, 1, 2.0, 4, 6, action, Actionscript, Actionscript3, Adobe, Adobe Air, Air, Android, api, app, AR, auto, BI, C#, class, classe, classes, configuração, Curso, Cursos, demo, Desktop, err, erro, error, event, EventListener, exemplo, filter, flash, flash media, Flash Media Server, Flex, for, function, Geral, Google, html, ide, IE, if, image, int, internet, live, mg, mobile, O, on, padrão, PHP, platform, pt, reference, Ria’s Geral, RoR, S+S, server, servidor, SmartPhone, streaming, string, UI, Ved, Vídeo, web, XML em 05 7th, 2011 | Sem comentários



O Adobe AIR for Android pode acessar alguns recursos do hardware dos smartphones. Dentre alguns deles podemos citar o acesso a internet, ler o estado do telefone, o acesso da rede, o acesso da wifi, GPS, sensores etc. O Adobe AIR pode acessar também a camera do dispositivo, sendo que isso pode ser feito de duas maneiras.

O Adobe AIR está disponivel para dispositivos rodando Android a partir da versão 2.2(Froyo)

Temos duas classes para acessar a camera com Adobe AIR for Android:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Camera.html
A primeira maneira de acessar a câmera do celular é usando a classe Camera, clássica e já bastante conhecida de nossos trabalhos em ambiente web e desktop. Antes você pode usar o método Camera.isSupported, e para pegar as câmeras usando Camera.getCamera().

Geralmente essa classe é usada também para enviar o streaming de sua câmera para o servidor Flash Media Server(em conjunto com a classe NetStream) e transmitir para web, desktop ou mobile. Veja um exemplo de uso:

PLAIN TEXT
ACTIONSCRIPT3:

  1. var camera:Camera = Camera.getCamera();
  2. if (camera != null)
  3. video = new Video(camera.width * 2, camera.height * 2);
  4. video.attachCamera(camera);
  5. addChild(video);
  6. else
  7. trace(“You need a camera.”);

No getCamera, se não for passado nenhum parâmetro, acessará a camera principal do dispositivo, você pode acessar uma câmera especifica passando o índice dela como string:

PLAIN TEXT
ACTIONSCRIPT3:

  1. var arrCamera:Array = Camera.names;// todas as câmeras como array
  2. var camera:Camera = Câmera.getCamera(“1”);//acessando a câmera de indece 1

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/CameraUI.html
CameraUI é uma classe nova exclusiva para o Adobe AIR for Mobile Devices, permitindo que você capture a imagem ou vídeo do aplicativo padrão de câmera do celular. A imagem ou video fica disponivel no objeto MediaEvent. Veja um exemplo de uso:

PLAIN TEXT
ACTIONSCRIPT3:

  1. var deviceCameraApp:CameraUI = new CameraUI();
  2. var imageLoader:Loader;
  3. deviceCameraApp.addEventListener( MediaEvent.COMPLETE, imageCaptured );
  4. deviceCameraApp.addEventListener( Event.CANCEL, captureCanceled );
  5. deviceCameraApp.addEventListener( ErrorEvent.ERROR, cameraError );
  6. deviceCameraApp.launch( MediaType.IMAGE );
  7. function imageCaptured( event:MediaEvent ):void
  8. trace( “Media captured…” );
  9. var imagePromise:MediaPromise = event.data;
  10. if( imagePromise.isAsync )
  11. trace( “Asynchronous media promise.” );
  12. imageLoader = new Loader();
  13. imageLoader.contentLoaderInfo.addEventListener( Event.COMPLETE, asyncImageLoaded );
  14. imageLoader.addEventListener( IOErrorEvent.IO_ERROR, cameraError );
  15. imageLoader.loadFilePromise( imagePromise );
  16. else
  17. trace( “Synchronous media promise.” );
  18. imageLoader.loadFilePromise( imagePromise );
  19. showMedia( imageLoader );
  20. }
  21. function captureCanceled( event:Event ):void
  22. trace( “Media capture canceled.” );
  23. NativeApplication.nativeApplication.exit();
  24. function asyncImageLoaded( event:Event ):void
  25. trace( “Media loaded in memory.” );
  26. showMedia( imageLoader );
  27. function showMedia( loader:Loader ):void
  28. this.addChild( loader );
  29. function cameraError( error:ErrorEvent ):void
  30. trace( “Error:” + error.text );
  31. NativeApplication.nativeApplication.exit();

Um ultimo detalhe para que funcione no smartphone, é necessario setar a permissão para que o aplicativo possa acessar a camera no Android. Isso é feito no xml de configuração do Adobe AIR:

PLAIN TEXT
XML:

  1. >
  2. >
  3. ]]>>
  4. >


Veja o post original no blog do autor aqui!  

Leonardo França

Escrito por Leonardo França @ http://www.leonardofranca.com.br
Saiba mais sobre o autor na sua pagina de perfil
Outros posts do autor:
» Flash Player já é 85% diz estudo
» Opções para desenvolvimento mobile
» Converta Flash para HTML5

Deixe um comentário



Spam Protection by WP-SpamFree

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2791 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos

GOOGLE

Votação


Deveria o RedeRia agregar conteúdo em inglês?
Ver Resultados

AUTORES


Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com