miércoles, 25 de abril de 2012

Vídeos en formato gif

Vamos a intentar solucionar nuestros problemas con los vídeos pasándolos de formato mp4 a gif con el programa VirtualDub. Esto ya esta hecho y ahora nos ponemos con la clase que haga el play de un gif. En android ya viene predefinida una clase llamada android.graphics.Movie que nos permite reproducir distintos InputStreams( cualquier cosa de la que se leen bytes. Puede ser el teclado, un fichero, un socket, o cualquier otro dispositivo de entrada). Una vez que consigamos hacer compilar la clase y veamos que funcione, intentaremos controlar el número de repeticiones del Gif para que no se reproduzca indefinidamente. Por otro lado, ya hemos hecho el TTS(text to speech) y funciona correctamente. Más adelante subiremos muestras de todo esto.

domingo, 22 de abril de 2012

Primeras soluciones al traductor

Tras dos semanas de continuos problemas tanto de compatibilidades entre c++ y java o entre móvil y emulador como del código en sí, al final hemos solucionado todos los problemas que teníamos con el traductor.

Hemos creado un < TextView con el objetivo de que tradujera las palabras que le metíamos en la entrada y nos las sacara por pantalla en forma de texto. Recordemos que tenemos dos archivos .txt uno con las palabras o frases más frecuentes en nuestra lengua y otro con las palabras o frases en lengua de signos LSE. La idea es que nos relacionara ambos archivos cada vez que introducimos una palabra o frase.

Por ejemplo, si nosotros introducimos "el bonotransporte lo tiene que pedir en una oficina o estanco", el traductor interpretará "ABONO OFICINA O TIENDA ESTANCO TU PEDIR".

Uno de los problemas más importantes que hemos tenido es el de las tildes. Esto ha sido un quebradero de cabeza y al final hemos optado por quitarlas.

Con todo esto, el traductor parece, en principio, que ya funciona.


En cuanto a los vídeos, hemos vuelto a poner la clase VideoView en lugar de la clase MediaPlayer que es más complicada.

lunes, 16 de abril de 2012

Strings en jni

Aquí viene descrito nuestro problema:
http://java.sun.com/developer/onlineTraining/Programming/JDCBook/jnistring.html#string

The String object in the Java language, which is represented as jstring in Java Native Interface (JNI), is a 16 bit unicode string. In C a string is by default constructed from 8 bit characters. So, to access a Java language String object passed to a C or C++ function or return a C or C++ string to a Java language method, you need to use JNI conversion functions in your native method implementation.

Después de ver el código del traductor que utilizamos, nos hemos dado cuenta de que no hace nada de esto.

Procedemos a efectuar los siguientes cambios en las clases traduce.h y traduce.cpp que son las que nos dan problemas:

En la clase traduce.h intercambiar la línea de arriba por la de abajo:

JNIEXPORT jint JNICALL Java_com_traductor_lse_Traduciendo_Traduccion(JNIEnv *env, jobject obj, char *origen, char *destino);

JNIEXPORT jint JNICALL Java_com_traductor_lse_Traduciendo_Traduccion(JNIEnv *env, jobject obj, jcharArray origen, jcharArray destino);


Además habría que cambiar el método traduccion (el que nos da el problema en Java) de la clase traduce.cpp:

jcharArray origen --> char *origen
jcharArray destino --> char *destino
***Lo que haya en traduccion***
char *destino --> jcharArray destino

Con estos cambios esperamos solucionarlo.

domingo, 15 de abril de 2012

Librerías de C++ . Nuevo problema

Este fin de semana nos ha surgido un nuevo problema con las librerías.

Ejecutamos bien los métodos inicialización, traducción y finalización de la clase Traduciendo.java, pero cuando pasa a ejecutar la siguiente instrucción se produce un error y en el LogCat empiezan a salir líneas etiquetadas con DEBUG y después pone que el proceso ha muerto, y vuelve a la actividad anterior, en este caso MenuPrincipal, y ahí se queda.

Aquí ilustramos lo dicho:

jueves, 12 de abril de 2012

Objetivos de la semana

Después de un tiempo de parón debido a Semana Santa, hemos vuelto esta semana con la idea de solucionar dos temas que llevamos arrastrando desde hace algunas semanas:

En primer lugar y más prioritario, conseguir concatenar los vídeos de manera que no hay interrupciones cuando se reproduzcan dos o más vídeos.

En segundo lugar, acabar con el traductor. En lo que estamos trabajando es en conseguir que el traductor traduzca varias palabras distintas, todas ellas en una misma frase, y que sepa diferenciarlas claramente.