You are on page 1of 8

!"# !

%&'(

En este capitulo, usteu apienuei como iepiouucii y giabai soniuos. Al igual
que con las imgenes, vei que pueue iepiouucii aichivos ue soniuo locales y
iemotos, y tenei un contiol piogiamtico sobie esa iepiouuccion. Las API ue auuio
son paite uel mouulo piincipal Ti.Neuia, que contiene touas las APIs paia la
funcionaliuau ielacionaua con multimeuia . Contiene los siguientes espacios ue
nombies (namespaces):

)'*+,&'-*.(%/& 0 %1'2'3-&( 4-5- 5,45(&%6'5 7(/'&(7 897'6(7
)'*+,&'-*!%&'("2-:,5 0 %1'2'3-&( 4-5- 715,-;'/< &, -%&'( 4-5- ,2 6(/15(2 &,
&'74(7'1'=(7 : &, 8->( /'=,2 &, 2- 5,45(&%66'?/ &, -%&'(
)'*+,&'-*!%&'(@,6(5&,5 0 7, %1'2'3- 4-5- 2- <5-8-6'?/ &, -%&'( &,7&, ,2
;'65?A(/( &,2 &'74(7'1'=(

@,45(&%66'?/ &, 7(/'&(7 897'6(7
0steu pueue utilizai el objeto Ti.Neuia.Sounu aauii beeps y soniuos ue feeuback
paia el usuaiio. Tambin pueue usailo paia soniuos ambientales (la iepiouuccion
en segunuo plano mientias la aplicacion est activa). Tenga en cuenta, sin embaigo
que, con el objeto ue soniuo, touo el aichivo ue soniuo se caiga en la memoiia antes
ue iepiouuciise. Esto aumenta el uso ue memoiia en su aplicacion. Tambin ciea un
ietiaso antes ue que el soniuo se pueue jugai poi piimeia vez (mientias el aichivo
est sienuo leiuo en la memoiia). Pueue establecei !"#$%&'()*"+% - .(#) paia
piecaigai el soniuo, peio touavia hay uemoia paia que el aichivo lea en la memoiia.

El objeto Sounu incluye algunos mtouos tiles, como '*+/ 012 '+#!) 01 y !."' 01 . La
piopieuau uil acepta una iuta ue aichivo local o una 0RL a un aichivo ue soniuo
iemoto. (El aichivo ue soniuo se uebe uescaigai antes ue que se pueue iepiouucii,
no sei tiansmitiuo). 0steu pueue contiolai el volumen, ya sea con el mtouo
setvolume () o establecienuo la piopieuau uel volumen. Consulte la uocumentacion
ue la API paia la infoimacion completa.

// create the sound/media object
var sound = Titanium.Media.createSound({
url: 'your_sound_file.mp3',
preload: true
});
var button = Ti.UI.createButton({
title: 'Click to play sound',
width:'200',
height:'40',
top:20
});
button.addEventListener('click', function() {
sound.play();
});
B9;-5- : C-2,5D- &, A(1(7 !"#

Apienueiemos como exploiai la cmaia y la galeiia ue fotos y sus APIs.
veiemos como captuiai una imagen ue la cmaia, utilizaila en una aplicacion, y
guaiuaila en la galeiia o el sistema ue aichivos. Tambin exploia las API ue galeiia
estiechamente ielacionaua, que peimiten a sus usuaiios buscai imgenes ue sus
lbumes ue fotos paia su uso uentio ue la aplicacion.

Las API que se utilizan paia acceuei a la cmaia y galeiia ue fotos son muy
similaies. Ambos utilizan la misma fiima ue funcion, aunque los nombies ue los
mtouos ieales vaiian. vamos a empezai con un vistazo a la API ue la cmaia y
luego vei como se aplican las mismas tcnicas paia la galeiia.

B9;-5-
0steu pueue tenei acceso tanto a la cmaia tiaseia y la cmaia fiontal en los
uispositivos que las poseen. Pueue captuiai imgenes fijas y viueo uesue la cmaia.
Poi lo tanto, usteu pueue utilizai las imgenes iesultantes en su aplicacion,
guaiuailos en el sistema ue aichivos, caigailos o guaiuailos en la galeiia. Se abie la
cmaia meuiante una llamaua al mtouo !3"45+6)(+ 01 Al haceilo, usteu uefine
ties funciones ue uevolucion ue llamaua que se llaman segunel xito, cancelacion, y
los eventos ue eiioi, ue la solicituu como se muestia aqui:

// This example is only able to capture video on the iOS
platform.
// To capture video on the Android platform, see the Android
Capture Video Example below.
Titanium.Media.showCamera({
success:function(event) {
// called when media returned from the camera
Ti.API.debug('Our type was: '+event.mediaType);
if(event.mediaType == Ti.Media.MEDIA_TYPE_PHOTO) {
var imageView = Ti.UI.createImageView({
width:win.width,
height:win.height,
image:event.media
});
win.add(imageView);
} else {
alert("got the wrong type back
="+event.mediaType);
}
},
cancel:function() {
// called when user cancels taking a picture
},
error:function(error) {
// called when there's an error
var a =
Titanium.UI.createAlertDialog({title:'Camera'});
if (error.code == Titanium.Media.NO_CAMERA) {
a.setMessage('Please run this test on device');
} else {
a.setMessage('Unexpected error: ' + error.code);
}
a.show();
},
saveToPhotoGallery:true,
// allowEditing and mediaTypes are iOS-only settings
allowEditing:true,
mediaTypes:[Ti.Media.MEDIA_TYPE_VIDEO,Ti.Media.MEDIA_TYPE_P
HOTO]
});


La piopieuau !+7)8"93".":+**)(/ contiola si la foto o viueo se guaiua
automticamente en la galeiia ue fotos uel uispositivo. 0sanuo )'*E'2,7:71,; pouiia
guaiuai en el sistema ue aichivos , yo en la galeiia.

Algunas otias piopieuaues tiles incluyen :

-%1(F'&, (boolean ) si la cmaia uebe ocultaise automticamente uespus ue que la
captuia ue los meuios ue comunicacion se completa ( poi uefecto es tiue ) ( i0S
solamente )
-/';-1,& ( boolean) si el uilogo uebeiia estai animauo (poi uefecto es tiue) al
mostiai y ocultai (Anuioiu y i0S solamente)
!22(GH&'1'/< Iboolean ) si los meuios ue comunicacion ueben sei euitables uespus
ue la captuia en la inteifaz ue la inteifaz ue usuaiio ( solo paia i0S )
;,&'-):4,7 una seiie ue constantes ue tipo ue meuios ue comunicacion con el
apoyo ue la inteifaz ue usuaiio uel uispositivo ue captuia ( i0S solamente)
='&,(+-J';%;K%5-1'(/ (float ) la uuiacion uel tiempo en milisegunuos paia
peimitii la captuia antes ue teiminai ( i0S solamente)
='&,(L%-2'1: ( Ti.Neuia constante) paia inuicai la caliuau ue viueo uuiante la
captuia ( i0S solamente)
7F(GB(/15(27 (boolean ) paia inuicai si se incoipoian contioles en los contioles ue
inteifaz ue usuaiio ( i0S solamente)
M=,52-: ( Ti.0I.view ) que se aaue como una supeiposicion a la inteifaz ue usuaiio
ue la cmaia ( en la paite supeiioi ) ( i0S solamente)





0steu pueue pieviamente, compiobai la uisponibiliuau ue la cmaia con la
piopieuau Titanium.Neuia.isCameiaSuppoiteu : es falsa si el uispositivo no tiene
cmaia. El simulauoi emulauoi no tiene sopoite ue la cmaia . 0tios uispositivos
sin cmaias incluyen teiceia geneiacion y ms viejos iPous, el Nook Coloi y Kinule
Fiie .

Sopoite ue la cmaia uelanteiatiaseia
0steu pueue tenei acceso tanto a la que se enfientan las cmaias fiontal y posteiioi
, si el uispositivo uispone ue esas cmaias. El siguiente fiagmento ue couigo muestia
una foima en que pouiia hacei esto. Las piopieuaues ms impoitantes son el
mtouo )'*+,&'-*B!+H@!N@H!@ y )'*+,&'-*B!+H@!NE@MO) asi como la
)'*+,&'-*7G'16FB-;,5-IP

var cameras = Ti.Media.availableCameras;
for (var c=0; c < cameras.length; c++) {
// if we have a rear camera ... we add switch button
if (cameras[c]==Ti.Media.CAMERA_REAR) {
overlay.add(cameraType);
cameraType.addEventListener('click',function() {
if (Ti.Media.camera == Ti.Media.CAMERA_FRONT) {
cameraType.title = "front";

Ti.Media.switchCamera(Ti.Media.CAMERA_REAR);
} else {
cameraType.title = "rear";

Ti.Media.switchCamera(Ti.Media.CAMERA_FRONT);
}
});
break;
}
}













C-2,5D-

0steu abie la galeiia nativa meuiante una llamaua al mtouo
"')$93".":+**)(/ 01 Al igual que con la cmaia , se uefinen ties funciones ue
uevolucion ue llamaua que se llaman segn el xito , cancelacion , y eventos ue
eiioi. Los mtouos ue la cmaia y ue la galeiia son muy similaies. Basta con
sustituii showCameia () con openPhotoualleiy () en el bloque ue couigo anteiioi y
usteu sei bueno paia ii.





Algunas otias piopieuaues tiles incluyen :

-/';-1,& ( boolean) si el uilogo uebeiia sei animauo (poi uefecto es tiue) al
mostiai y ocultai
!22(GH&'1'/< (boolean ) si los meuios ue comunicacion ueben sei euitables uespus
ue la captuia en la inteifaz ue la inteifaz ue usuaiio
7-=,)("F(1(C-22,5: (boolean ) si los meuios mouificauos ueben sei guaiuauos
fueia ue la galeiia , poi lo geneial solo es til con AllowEuiting = tiue
;,&'-):4,7 una seiie ue constantes ue tipo ue meuios ue comunicacion con el
apoyo ue la inteifaz ue usuaiio uel uispositivo ue captuia
7F(GB(/15(27 ( boolean ) paia inuicai si el incoipoiauo en los contioles ue inteifaz
ue usuaiio se uebe mostiai
(=,52-: ( Ti.0I.view ) que se aaue como una supeiposicion a la inteifaz ue usuaiio
ue la cmaia ( en la paite supeiioi )
4(4(=,5Q',G ( Ti.0I.view ) (solo iPau) paia posicionai la galeiia ue fotos en una
vista especifica (popovei)
-55(GK'5,61'(/ (solo iPau) contiolai el tipo ue flecha y la posicion ue la galeiia














!"# &, QD&,(

Incluye como se pueuen inseitai viueos uentio ue sus aplicaciones. Tambin como
iepiouucii aichivos locales y como tiansmitii viueos iemotos.


Pouemos utilizai el Titanium.Neuia.viueoPlayei paia iepiouucii viueos en la app ue
Titanium. Este objeto ciea cuanuo se llama 8;.+$;#6&<)%;+&=()+.)>;%)"9*+/)( 01
Se piopoicionan mtouos tiles, como el 42-:IP , '+#!)01 y !."'01 .

Pueue iepiouucii aichivos ue viueo locales, llamamos al mtouo 7,1+,&'-IP o
ajustanuo la piopieuau ue meuios. Ambos aceptan un aichivo (File) o un objeto
Blob. Pueue iepiouucii un viueo iemoto llamanuo al mtouo !).?(* 01 o
establecienuo la piopieuau uil. Poi ltimo, se pueue establecei la piopieuau ue
iepiouuccion automtica en 15%, paia iepiouucii automticamente el viueo.

El viueoPlayei es tiatauo como una view iegulai ue Titanium. Poi lo tanto, pueue
supeiponei las imgenes y vistas sobie el viueoPlayei meuiante su inclusion en la
jeiaiquia ue vistas. Be esta maneia:

var activeMovie = Titanium.Media.createVideoPlayer();
// create a label
var movieLabel = Titanium.UI.createLabel({
text:'Do not try this at home',
width:'auto',
height:35,
color:'white',
font:{fontSize:24,fontFamily:'Helvetica Neue'}
});
// add label to view
activeMovie.add(movieLabel);

En Anuioiu, el viueoPlayei uebe sei utilizauo ue pantalla completa. No pueue sei
embebiuo en una vista ms pequea. Esto se uebe a que en Anuioiu, el viueoPlayei
no es tcnicamente un pioxy paia un objeto ue vista nativo como lo es en i0S. En su
lugai, la cieacion ue la viueoPlayei gatilla un pioceso '/1,/1 que se lanza el
iepiouuctoi ue viueo ue Activiuau nativa. Es poi esta iazon que en Anuioiu, no se
peuue llamai a win.auu (viueoPlayei). Si es asi causaiia un eiioi.

En i0S, pueue inciustai el iepiouuctoi ue viueo uentio ue una ventana o vista; que
no tiene que sei mostiauo a tamao completo. Basta con establecei las piopieuaues
ue alto y ancho en la viueoPlayei. Paia vei el iepiouuctoi ue pantalla completa, se
pueue establecei 7;%)"9*+/)(&@#**!=())$ - .(#)&


0steu pueue contiolai la foima en que se muestian los contioles ue iepiouuccion ue
viueo paia el iepiouucto. 0steu pueue "integiai" el uentio uel iepiouuctoi, ue sta
maneia:

activeMovie.add(movieLabel);
var activeMovie = Titanium.Media.createVideoPlayer({
url:'../movie.mp4',
movieControlStyle: Titanium.Media.VIDEO_CONTROL_EMBEDDED
});

You might also like