Tutorial utilizando TextToSpeech de Android 1.6

Hoy ha sido el lanzamiento del Android 1.6 para los Dev Phone y mientras tanto he estado investigando un poco las nuevas funcionalidades del Android SDK 1.6 y he decidido empezar por algo muy útil como es el Texto a Voz (TextToSpeech). En esta pequeña receta está todo lo necesario para que el Emulador de Android nos diga unas bonitas palabras.

public class texttospeech extends Activity implements TextToSpeech.OnInitListener {
	TextToSpeech tts;
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		tts = new TextToSpeech(this,this);
	}

	public void onInit(int status) {
		// TODO Auto-generated method stub
		Locale loc = new Locale("es", "","");
		if(tts.isLanguageAvailable(loc) >= TextToSpeech.LANG_AVAILABLE){
			tts.setLanguage(loc);
		}
		tts.speak("hola mundo, gracias por visitar androides", TextToSpeech.QUEUE_FLUSH, null);
	}

	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		tts.shutdown();
	}
}

La clases implementará OnInitListener del TextToSpeech

public class Main extends Activity implements TextToSpeech.OnInitListener

Crearamos una instancia del TextToSpeech:
el primer parametro es el Context.
el segundo parametro la función que inicializa, la que nosotros vamos a implementar.

Create a TextToSpeech instance where the first param is the context and second is the init function (the one we implemented)
tts = new TextToSpeech(this,this);

Esta función la llama el TextToSpeech despues de iniciarse

public void onInit(int status) {

loc determina que el idioma es el Español, pero podría ser cualquier otro: “en”, “de”, “pt”

Locale loc = new Locale("es", "","");

Determina si ese idioma se puede utilizar en el TextToSpeech y lo registra en la variable

if(tts.isLanguageAvailable(loc) >= TextToSpeech.LANG_AVAILABLE){
tts.setLanguage(loc);

La función speak habla el texto introducido.
El primer parametro.
El segundo parametro TextToSpeech.QUEUE_FLUSH es para que empiece a hablar.

tts.speak(”hola mundo, gracias por visitar androides”, TextToSpeech.QUEUE_FLUSH, null);

Espero que os guste el vídeo.

Vía | Android developers

Anuncios

2 comentarios sobre “Tutorial utilizando TextToSpeech de Android 1.6

  1. Pingback: Bitacoras.com
  2. Hola,

    Me gustaría saber como habeis configurado el emulador para escuchar el audio. He seguido vuestro tutorial pero no consigo escuchar nada… parece ser que el emulador no puedo detectar el dispositivio de audio adecuado. El audio del ordenador funciona corresctamente.

    Gracias.

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s