Exemplo simples de câmera

O código fonte deste exemplo pode ser encontrado aqui: https://github.com/gomobile/sample-imagecapture ou faça o download do Intel® XDK para ver todos os exemplos de HTML5.

Propósito

A demonstração de câmera é uma implementação muito simples de como a biblioteca de bridge JavaScript intel.xdk pode ser usada para utilizar a câmera do dispositivo em uma aplicação híbrida.

Código fonte

O HTML desta app contém imagens e botões implementados como elementos DIV que são usados para mostrar as fotos tiradas com a câmera, e interagir com a aplicação. Um toque no elemento DIV do botão dispara a função takepicture encontrada no arquivo js/main.js.

Quando a função intel.xdk.camera.takePicture é disparada, a aplicação nativa de câmera do dispositivo é iniciada, permitindo ao usuário tirar uma foto. Quando a fotografia é tirada com sucesso, ou a aplicação de câmera é encerrada, o controle retorna para a app híbrida e um evento JavaScript é disparado.

Se a app da câmera tirou a fotografia com sucesso, o evento intel.xdk.camera.picture.add é disparado. Se o usuário cancelar a aplicação de câmera sem tirar uma foto, o evento intel.xdk.camera.picture.cancel é disparado ao invés do evento anterior. Caso a aplicação tente consultar o objeto da câmera enquanto a app nativa de câmera estiver aberta, o evento intel.xdk.camera.picture.busy é disparado. Em cada um desses casos, a função onSuccess atua como um handler de eventos.

O handler de eventos onSuccess lê quando a câmera tirar ou não uma foto com sucesso. Em caso de erro, a mensagem retornada é apresentada em uma caixa de alerta. Se a câmera tiver sucesso, a URL da foto é utilizada para desenhar a imagem na tela.

Depois que três fotografias forem capturadas com a câmera, um slide show rápido será apresentado usando a função makeslideshow.

Testando

Esta aplicação de exemplo foi testada em uma variedade de dispositivos iOS e Android.

Limitações

A API de câmera depende da app nativa de câmera do dispositivo. Dependendo do dispositivo e do sistema operacional em que esta aplicação de exemplo será executada, podem existir diferenças e limitações no momento de tirar as fotografias, que estão fora do controle desta aplicação.
Para obter informações mais completas sobre otimizações do compilador, consulte nosso aviso de otimização.