martes, 27 de marzo de 2012

¡Foto!

Por fin hemos conseguido corregir el problema que teníamos la semana pasada y que nos hizo no cumplir 100% el hito que nos propusimos: las capturas de fotografía.

El plug-in de captura de video usado es el jQuery webcam plug-in, como ya dijimos en la presentación. Este plug-in tiene 3 modos de funcionamiento, pudiendo funcionar en modo "callback", "stream" y "save". Explicado rápidamente, el modo "callback" permite pintar la imagen que se captura en la página web rápidamente, pero no permite su guardado. En el modo "stream" podemos enviar video a otra parte (como usando la webcam con Skype). El modo que nos interesa es el modo "save", que permite guardar las fotos tomadas en formato .jpg .


El primer problema que nos encontramos fue que en la página web donde nos descargamos el plug-in venía información muy extensa del modo "callback" (incluso un ejemplo práctico), pero apenas había nada del modo "save", por lo que tuvimos que partir del código del modo "callback" y modificarlo para que funcionase en modo "save", cosa que, segun la página origen, era muy fácil de hacer, pero que nos costó más debido a la falta de información.

Nuestro problema era simple, que muchas veces resultan los más difíciles de depurar. Por un lado incluíamos un archivo incorrecto, pues servía únicamente para el modo "callback", y lo sustituimos por el correspondiente al modo "save".

Ese era el error fácil y que detectamos enseguida, pero aún asi no podíamos hacer las fotos. Mirando en foros problemas que había tenido la gente con ese mismo plug-in finalmente llegamos a la conclusión de que el problema era que, en el modo "callback", se usa una función webcam.save() distinta a la usada en modo "save", y que ésta última requiere que antes de que se la llame se haya llamado a la función webcam.capture() para capturar la imagen. Así que añadimos esta función justo antes de webcam.save() y...


Ahora nos toca ponernos a fondo con SPro y ALIZE para realizar el reconocimiento de audio, aunque no descartamos que, si vemos que al trabajar los dos a la vez nos entorpecemos, nos dediquemos uno a la parte de audio y el otro a la de video.