Tu robot con LeJOS puede hablar contigo
Llevo unos días probando un ejemplo del sistema TTS para Android y la verdad es que los resultados son muy positivos. Con la plataforma LeJOS, es posible comunicar información de los sensores y transmitirla a tu móvil con Android y contártela.
Dejo un simple ejemplo usando esta tecnología:
package jab.android.tts;
import com.google.tts.TTS;
import android.app.Activity;
import android.os.Bundle;
public class HelloWorldTTS extends Activity {
private TTS myTts;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myTts = new TTS(this, ttsInitListener, true);
}
private TTS.InitListener ttsInitListener = new TTS.InitListener() {
public void onInit(int version) {
myTts.speak("Buenas tardes, este es un ejemplo de Robótica educativa", 0, null);
}
};
}
Mas informacion:
http://eyes-free.googlecode.com/svn/trunk/documentation/tutorial/tutorial.html
http://eyes-free.googlecode.com/svn/trunk/documentation/tts/index.html
http://groups.google.com/group/tts-for-android/
En el ejemplo anterior, se usa la clase depreciada. Para usar el la clase actual, es necesario probar el siguiente ejemplo:
package jab.android.tts;
import java.util.Locale;
import com.google.tts.TextToSpeechBeta;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
public class HelloWorldTTS extends Activity {
private TextToSpeechBeta myTts;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myTts = new TextToSpeechBeta(this, ttsInitListener);
}
private TextToSpeechBeta.OnInitListener ttsInitListener = new TextToSpeechBeta.OnInitListener() {
public void onInit(int status, int version) {
//http://java.sun.com/j2se/1.4.2/docs/api/java/util/Locale.html
//http://ftp.ics.uci.edu/pub/ietf/http/related/iso639.txt
Locale spanish = new Locale("es");
int result = myTts.isLanguageAvailable(spanish);
Toast.makeText(HelloWorldTTS.this, "Result: "+result, Toast.LENGTH_SHORT).show();
myTts.setLanguage(spanish);
String message = "Buenas tardes, este es un ejemplo de Robótica educativa";
myTts.speak(message, 0, null);
}
};
/**
* Personalizando ciertos eventos en la Activity
*/
public void quit() {
setResult(RESULT_CANCELED, null);
finish();
}
@Override
public void onStop() {
super.onStop();
}
@Override
protected void onDestroy() {
myTts.shutdown();
super.onDestroy();
}
}
Nota: Los ejemplos fueron probados con un teléfono Nexus One con Android 2.1
