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:
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:
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:
-
var deviceCameraApp:CameraUI = new CameraUI();
-
-
deviceCameraApp.addEventListener( MediaEvent.COMPLETE, imageCaptured );
-
deviceCameraApp.launch( MediaType.IMAGE );
-
-
function imageCaptured( event:MediaEvent ):void
-
-
trace( “Media captured…” );
-
-
var imagePromise:MediaPromise = event.data;
-
-
if( imagePromise.isAsync )
-
-
trace( “Asynchronous media promise.” );
-
-
imageLoader.loadFilePromise( imagePromise );
-
-
else
-
-
trace( “Synchronous media promise.” );
-
imageLoader.loadFilePromise( imagePromise );
-
showMedia( imageLoader );
-
-
}
-
-
-
trace( “Media capture canceled.” );
-
NativeApplication.nativeApplication.exit();
-
-
-
-
trace( “Media loaded in memory.” );
-
showMedia( imageLoader );
-
-
-
-
this.addChild( loader );
-
-
-
-
trace( “Error:” + error.text );
-
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:
-
> -
> -
-
-
-
]]>>
-
>





