1. O documento descreve como capturar mídia como áudio, imagens e vídeo usando a API PhoneGap no dispositivo móvel. 2. É explicado como iniciar a gravação de áudio e vídeo ou tirar fotos usando as aplicações nativas do dispositivo. 3. Os resultados da captura são retornados como objetos MediaFile contendo propriedades sobre os arquivos de mídia.
2. 04/04/14 ‹#›
Quem sou eu?
• Especialista em Mobilidade e Sistemas Embarcados –
Estácio de Sá
• Certificado LPIC1 (Linux Professional Institute Certified),
• CLA (Novell Certified Linux Administrator),
• Novell Datacenter Technical Specialist.
• CEO e fundador da Wake Up Digital.
• Palestrante IEEE e Google I/O Extend
• Curador do Startup Genome João Pessoa
• Organizador de dois Startups Weekends
6. CONFIGURATION
DATA
É
USADO
PARA
DESCREVER
O
MEDIA
CAPTURE
MODES
SUPORTADO
PELO
DISPOSITIVO
!
PROPRIEDADES
!
1.
TYPE:
STRING
!
É
representado
em
minúsculo
no
tipo
de
mídia
!
-‐
video/3gpp
-‐
audio/amr
-‐
video/quicktime
-‐
audio/war
-‐
image/jpeg
7. CONFIGURATION
DATA
2.
HEIGHT:
integer
A
altura
da
imagem
ou
vídeo
em
pixels
!
3.
WIDTH:
integer
A
largura
da
imagem
ou
vídeo
em
pixels
!
No
caso
de
audio,
é
colocado
o
valor
0
para
esses
atributos.
9. CAPTURING
AUDIO
É
chamado
no
objeto
capture
!
!
!
!
!
!
!
Comece
a
gravar
o
audio
em
uma
aplicação
e
retorne
a
informação
sobre
o
arquivo
de
áudio
capturado.
!
10. !10
CAPTURING
AUDIO
Começa
com
uma
operação
assíncrona
para
capturar
chamadas
de
áudio
!
Usa
o
aplicativo
de
gravação
de
áudio
padrão
do
dispositivo
!
A
operação
permite
que
o
usuário
do
dispositivo
grave
múltiplos
áudios
11. CAPTURING
AUDIO
Quando
a
operação
de
captura
é
finalizada,
chama-‐
se
o
CaptureCB,
callback
com
um
array
de
objetos
MediaFile
!
Se
a
operação
for
terminada
pelo
usuário
ante
do
audio
ser
capturado
por
completo,
o
CaptureErrorCB
vai
ser
chamado
12. CAPTURE
AUDIO
OPTIONS
Propriedades:
!
Limit
(Não
suportada
no
IOS
=>
apenas
uma
gravação
por
vez)
!
O
máximo
que
o
usuário
pode
gravar
em
apenas
uma
operação
!
Duration
(Não
suportada
no
Android
=>
ilimitado)
A
máxima
duração
do
áudio,
em
segundos.
14. CAPTURANDO
IMAGENS
É
chamado
no
objeto
capture
!
Inicia
a
aplicação
da
câmera
e
retorna
a
informação
sobre
a
imagem
capturada.
!
15. Começa
com
uma
operação
assíncrona
para
capturar
imagens
!
Usa
a
aplicação
de
câmera
do
dispositivo
!
A
operação
permite
que
o
usuário
do
dispositivo
grave
múltiplas
images
em
uma
única
sessão.
CAPTURANDO
IMAGENS
16. CAPTURANDO
IMAGENS
Quando
a
operação
de
captura
é
finalizada,
chama-‐
se
o
CaptureCB,
callback
com
um
array
de
objetos
MediaFile
!
Se
a
operação
for
terminada
pelo
usuário
ante
do
audio
ser
capturado
por
completo,
o
CaptureErrorCB
vai
ser
chamado
17. Propriedades:
!
Limit
(Não
suportada
no
IOS
=>
apenas
uma
gravação
por
vez)
!
O
máximo
que
o
usuário
pode
gravar
em
apenas
uma
operação
!
CAPTURANDO
IMAGENS
19. GRAVANDO
VÍDEOS
É
chamado
no
objeto
Capture
!
Inicia
a
aplicação
da
gravar
vídeo
e
retorna
a
informação
sobre
o
vídeo
capturado.
20. Começa
com
uma
operação
assíncrona
para
gravar
vídeos
!
Usa
a
aplicação
de
gravação
de
vídeos
!
A
operação
permite
que
o
usuário
do
dispositivo
grave
múltiplos
vídeos
em
uma
única
sessão.
GRAVANDO
VÍDEOS
21. Quando
a
operação
de
captura
é
finalizada,
chama-‐
se
o
CaptureCB,
callback
com
um
array
de
objetos
MediaFile
!
Se
a
operação
for
terminada
pelo
usuário
ante
do
audio
ser
capturado
por
completo,
o
CaptureErrorCB
vai
ser
chamado
GRAVANDO
VÍDEOS
22. GRAVANDO
VÍDEOS
Propriedades:
!
Limit
(Não
suportada
no
IOS
=>
apenas
um
vídeo
por
vez)
!
O
máximo
de
vídeos
que
o
usuário
pode
gravar
em
apenas
uma
operação.
!
Duration
-‐
ilimitado
no
Android
e
IOS
26. API
dedicada
para
capturar
imagens
da
aplicação
padrão
da
câmera
do
dispositivo
CAMERA
Tire
a
foto
a
câmera
ou
utilize
uma
foto
do
album
do
dispositivo
27. O
resultado
da
chamada
getPicture()
pode
ser:
!
-‐ uma
string
base64
encoded
-‐ a
URI
do
arquivo
da
imagem
!
É
recomendado
usar
a
URI,
pois
o
base64
pode
causar
problemas
na
utilização
da
memória
em
alguns
dispositivos
CAMERA
33. saveToPhotoAlbum
(boolean)
Salvar
a
imagem
para
o
album
de
fotos
no
dispositivo
após
a
captura
popoverOptions
(Object)
Apenas
no
iPad
OPÇÕES
DA
CÂMERA
37. navigator.contacts
CONTATO
Objeto
global
que
prover
acesso
para
os
contatos
do
dispositivo
!
Você
pode
chamar
dois
métodos
no
navigator.contacts
!
-‐ contacts.create
-‐ contacts.find
54. EVENTOS
-‐
DEVICEREADY
É
o
evento
mais
importante
da
app
Cordova.
!
Cordova
consistem
em
duas
bases
de
códigos:
-‐ Nativo
-‐ JS
!
Significa
que:
-‐
O
DOM
foi
carregado
-‐
A
API
nativa
cordova
também
foi
carregada.
55. CICLO
DE
VIDA
DE
EVENTOS
NO
APP
Baseado
em
dois
eventos
principais:
!
pause
!
resume