PDF de programación - Agenda - Programación para dispositivos móviles

Imágen de pdf Agenda - Programación para dispositivos móviles

Agenda - Programación para dispositivos móvilesgráfica de visualizaciones

Publicado el 22 de Octubre del 2018
484 visualizaciones desde el 22 de Octubre del 2018
630,1 KB
30 paginas
Creado hace 9a (08/05/2014)
Clase:016

Agenda

Corrección de Error de Driver

Unidad V
Conocimiento de Librerías Especiales de Dispositivos


Corrección de Error de Driver

Este Error aparecerá solamente una vez cuando no se haya
instalado y referenciado el complemento de Sqlite

Note que la versión de Sqlite es 3,8,4,2

Corrección de Error de Driver

Observaremos un
warning en SQLite for
Windows Phone

Eliminaremos esta
referencia

Corrección de Error de Driver

Iremos al menu de Tools,
Extensions and Updates

Corrección de Error de Driver

Buscamos En online… chequeamos el SQLite(ultima versión…. 3.8.4.3)

Corrección de Error de Driver

Agregamos la nueva referencia(clic derecho, add reference)

Corrección de Error de Driver

Chequeamos en Windows Phone, Extensions, SQLite for Windows
Phone 3,8,4,3 y aceptamos

Error Corregido

Podemos ver en el arbol de referencias que ya esta en color negro(sin
Warnings) la referencia de SQLite for Windows Phone

Error Corregido

Demo de la aplicación

Unidad V

Conocimiento de librerías especiales

de Dispositivos

Multimedia(Audio y video)



Multimedia

(Audio y Video)

Multimedia(Audio y Video)

• Android provee soporte para diferentes tipos de medios de

audio y video, así mismo, provee de un API para la
reproducción de estos medios

• Por medio del MediaPlayer API tenemos la posibilidad de

reproducir medios almacenados en el dispositivo, archivos
almacenados en el proyecto en los recursos de la aplicación
(carpeta raw) o inclusive streaming desde la red.

• Para utilizar el MediaPlayer no es necesario un permiso, sin

embargo, existen casos especiales:
• Permiso INTERNET: Si la multimedia viene en forma de

streaming

• PERMISO WAKE_LOCK: Si deseamos especificar que la

pantalla no debe apagarse

Multimedia(Audio y Video)

• Android provee las siguientes clases para la

repoducción de audio y video:
• MediaPlayer: Esta es la API principal para la

ejecución de audio y video.

• AudioManager: esta clase ayuda en el manejo

de fuentes y salidas audio del dispositivo.

Multimedia(Audio y Video)

• AudioManager, permite la administración de

componentes y características de audio del aparato.
Principalmente: volumen y control de los timbres.
Como con otros servicios del sistema lo que hacemos
es solicitar una instancia de la clase, a través de
Context.getSystemService(Context.AUDIO_SERVICE)

• Métodos: adjustVolume(int direction, int flags),

isMicrophoneMute(), isSpeakerphoneOn(),
getRingerMode(), etc.

MediaPlayer

• El objeto MediaPlayer es uno de las clase más



importante del framework para reproducir
medios.
Se encarga de barrer, decodificar y reproducir
audio y video con un nivel mínimo de
configuración.

• Provee el entorno requerido para reproducir:

• Recursos raw
• Recursos locales que puedan ser obtenidos

mediante URI
Streamming



MediaPlayer

• Para una lista completa de los formatos

soportados consultemos:

• Android Supported Media Formats

me


plataforma Android son mostrados entre paréntesis.

http://developer.android.com/guide/appendix/
dia-formats.html
Aquellos formatos que no se garantiza estén
disponibles en todas las versiones de la

MediaPlayer

• Para reproducir un archivo guardado en la carpeta

raw de nuestro proyecto. Utilizamos:

• MediaPlayer mediaPlayer =

MediaPlayer.create(context, R.raw.sound_file_1);
mediaPlayer.start();

• Un archivo raw es un archivo que hemos



almacenado en el folder res/raw/ de nuestro
proyecto.
Los archivos raw se caracterizan porque Android
no trata de parsearlos, el contenido del archivo no
necesariamente esta en modo raw o sin procesar.

MediaPlayer

• En el ejemplo anterior estamos ocupando el

método estático create() para obtener una
instancia de MediaPlayer.

• Este método creará y prepara el archivo(decoding,



buffering, etc.) y lo deja listo para reproducción.
Si no utilizamos el método create(), será necesario
llamar a prepare()

MediaPlayer





Para reproducir un objeto del que tenemos un Uri y esta
local en el dispositivo utilizamos el siguiente método:



En este ejemplo, setDataSource() especifica el Uri y el
contexto del archivo de audio, llamamos a prepare para
decodificarlo y luego el método start() inicia la
reproducción.

MediaPlayer

• Para reproducir, el audio desde una ubicación de red es

bastante parecido:



• Para poder lograr el streamming el audio o video y el

servidor deben de soportar descarga progresiva, es decir,
deben de poder reproducirse sin tener el archivo completo.

MediaPlayer


• Nótese que el método Prepare() es el encargado de

realizar el buffer del audio desde la red cuando se
trata de un streaming, también es el encargado de
la decodificación de audio y video cuando el
recurso es local.

• El método onPrepara() es llamado sincrónicamente,

por lo tanto, puede producir un ANR si la
recuperación o decodificación de la media. No
deberiamos llamarlo desde UI thread.


MediaPlayer

• Dado lo común de este escenario y para solventar
esta situación el MediaPlayer contiene el método
prepareAsync() que realizar el proceso de
preparación asíncronamente.

• Cuando la Media esta lista para ser reproducida,

Android llama al método onPrepared() de un
MediaPlayer.OnPreparedListener que debe de ser
especificado al MediaPlayer mediante el método
setOnPreparedListener()

MediaPlayer

• Otro aspecto importante a tomar en cuenta cuando se

diseñan aplicaciones de Audio y Video, es tomar en cuenta
el estado del MediaPlayer.

• Un MediaPlayer tiene un ciclo de vida, razón por la cual en
ocasiones la operaciones que es posible realizar sobre este
dependen del estado del mismo, por ejemplo: no podemos
llamar a start() después de llamar a stop().

• En caso que no se respeten estas reglas se producirán

errores o exceptions.

• El siguiente diagrama ilustra mejor el ciclo de vida de un
reproductor, y que operaciones nos llevan de un estado a
otro.

Al crear un nuevo
MediaPlayer luego de
llamar reset() , su estado es
Idle.
2. Al llamar
setDataSource() el estado
sera Initialized
3.Luego es posible llamar a
prepare() o prepareAsync().
4.Al finalizar la preparación
o luego de llamar create()
su estado será Prepared().
Lo que significa que es
posible llamar a start().
5.Luego múltiples estados
(Started, Paused and
PlaybackCompleted) son
posibles dependiendo de
las operaciones que
solicitemos al MediaPlayer.

MediaPlayer

La reproducción de medios tiene implicaciones
graves en los recursos disponibles para el sistema,
por lo que, es recomendable que siempre que ya
no sea necesario mantener un MediaPlayer
cargado en memoria, liberemos los recursos para
que el sistema los pueda ocupar en otras
operaciones. Para liberar los recursos de un
reproductor, llamamos
mediaPlayer.release(); mediaPlayer = null; Esto es
especialmente recomendable para las ocasiones
que el MediaPlayer este reproduciendo Video.

Video

• Para reproducir video es necesario especificar a

Android un espacio adonde debe de mostrarse el
video.

• El espacio donde podemos mostrar video es un

SurfaceHolder que podemos acceder por medio de
un SurfaceView.

• Cuando el SurfaceView ya esta dibujado en nuestro
layout podemos especificarlo a nuestro MediaPlayer
por medio del método setDisplay(SurfaceHolder)

• Para obtener el SurfaceHolder de nuestro

SurfaceView utilizamos el método getHolder()

Video



Los SurfaceViews están diseñados para soportar cualquier
fuente para dibujarla en su superficie, por ejemplo la cámara.

• Android pone a nuestra disposición, una View especializada para





reproducir video.
Esta es la VideoView. Un VideoView esta compuesto de un
MediaPlayer y de un SurfaceView.
El MediaPlayer interno ya esta configurado para reproducir
video y por lo tanto solo es necesario especificarlo por el
método:

video = (VideoView) findViewById(R.id.video);
video.setVideoURI(videoUri);


Este View posee los métodos para iniciar la reproducción,
pausarla, etc.

Video

• Android también provee las clases necesarias

para que no sea necesaria controlar la
reproducción de medios de forma programática.
Esto se logra por medio de la clase
MediaController.

• Esta clase controla el estado del MediaPlayer.
• Para usarlo solo la instanciamos y la pasamos al

VideoView o MediaPlayer por setController()
desde el video view o setMediaPlayer desde el
MediaController



Audio



Demo
  • Links de descarga
http://lwp-l.com/pdf13992

Comentarios de: Agenda - Programación para dispositivos móviles (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad