Completed

Desarrollo de un Gameobject de un reproductor de video

Published on the November 04, 2017 in IT & Programming

About this project

Open

Mostrar Video en Unity
La idea de este objeto es que al ponerlo en la escena muestre un video mp4, y se escuche tambien el audio, el reproductor de video es en 2d y tiene unos controles (iniciar video, parar video, reiniciar video, y pantalla completa)
Los videos tienen un aspect ratio de 16/9 no importa el tamaño de la resolución
El reproductor debe tener un parecido al reproductor de youtube, en cuanto a su funcionamiento.
Se pasara un código en el repositorio donde esta una escena con el objeto Canvas y dentro de el objeto Canvas debe colocarse ambos objetos que están definidos.
————————————————————————————————————————— Desarrollar un gameobject (prefab) que carga un video y un audio dinámicamente
Este objeto solo recibirá una ruta de una capeta que se encuentra dentro de StreamingAssets, esta carpeta tendrá un archivo de configuración json, el cual tendrá el nombre del video y el audio del video e instanciara el video y el audio en una variable de su tipo.
En el metodo start es donde se leerá la configuración y y el audio y el video será obtenido
Funciones necesarias
Entradas:
SetPath() -> ruta de la carpeta que esta dentro de streamingAssets, al cambiar el path automaticamente se actualizaran las variables de video y audio
Salidas:
getAudio() -> Se obtiene el audioclip getVideo() -> Se obtiene el video
——————————————————————————————————————————— Desarrollar un gameobject (prefab)
Este objeto recibirá el objeto creado anteriormente donde a travez de las funciones de salida obtendrá el video y el audio.
Este objeto deberá reproducir el video con el audio al mismo tiempo
Este objeto estará dentro de un Canvas el cual el tamaño definido será 1280*720px.
Cuando la pantalla recibe un touch los controles son visibles, para se tocados, pero al pasar 2 segundos (definir como constante) los controles se ocultan
Cuando aparecen los botones de los controles y se toca el pausa, en el centro de la pantalla, aparece el Start y el Restar, de la misma forma cuando se toca el boton de mute aparece el unmute, e igual que cuando se toca el poner pantalla completa se pone el boton de pantalla chica para revertir la operación.
Funciones Necesarias
Entradas
setSources(Prefab Anterior) -> este es la entrada del objeto anterior y al agregar esto deben llamarse internamente las funciones setVideo() y setWidth()
setWidth()-> es el tamaño horizontal del video y el vertical es calculado según esta formula width/ (16/9) -> este será el tamaño vertical
setVideo() -> donde se asigna el video
setAudio(audio) -> donde se asigna el audio.
Observaciones:
Al agregar setSources en cualquier momento se debe agregar el video y ponerse listo para empezar, el objeto debe poder cambiarse el video sin necesidad de destruirte.
Salidas:
onStartVideo() -> cuando el video inicia OnStop() -> cuando el video se paraliza OnFinishVideo() -> cuando el video finaliza
Procesos
starVideo() -> Inicio del video y el audio o inicia el video en el segundo donde el stop paralizo el video anteriormente
stopVideo() -> Paraliza el video, y lo deja en el segundo donde se quedo
restartVideo() -> reinicia el video para que inicie desde el principio desde el segundo 0
allScreem(bool)-> si es true se pone grande, si es false se pone del tamaño que se definió, anteriormente, este proceso debe funcionar aun cuando el video esta corriendo, no debe ver que se detiene el video
showControls(bool) -> si se pasa true los controles se ven, si pasa false los controles no se ven
mute() -> si es true el audio no se escucha, mas no significa que se detenga, y si es false el audio se vuelve a escuchar

Se dara un video de guia, y los demas se usaran para el desarrollo
https://we.tl/YlGjBz7JaY
https://we.tl/oUhOk504lN


Observaciones Generales
El código debe ser subido al repositorio correspondiente y debe ser probado, en Android, iOS debe ser compatible en Unity 2017.1.1f1

Category IT & Programming
Subcategory Other
Project size Medium
Is this a project or a position? Project
I currently have I have specifications
Required availability As needed

Delivery term: Not specified

Skills needed