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

publicado el: 30.09.09 por: rallat
Clasificado en: Desarrollo, snippet

Un comentario para “Tutorial utilizando TextToSpeech de Android 1.6”

    1

    Bitacoras.com dijo el 30.09.09 a las 09:25:

    Información Bitacoras.com…

    Valora en Bitacoras.com: 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 (Text….




Leave a Reply

App Android de la semana

Encuesta

¿Habrá un boom de tablets con Android?

  • Sí, al menos tendrá multitarea (48%, 135 Votes)
  • No lo necesito teniendo un móvil Android (40%, 112 Votes)
  • Quiero un iPad (9%, 25 Votes)
  • ¿Qué es una tablet? (3%, 13 Votes)

Total Voters: 283

Loading ... Loading ...

Comentarios

  • Jordi B.: Tenía entendido que la entrada de voz sólo funciona en inglés, mandarín y japonés, aunque el alemán está...
  • Xavier Molina: No está nada mal la iniciativa… pero creo que habría sido más interesante crear una nueva capa...
  • Adrian: Hola a todos. En primer lugar felicitaros por el gran trabajo que haceis con esta web, que nos sirve de mucha...
  • Egg McMuffin: Hola, esta aplicación es para Android 2.0+. Les comento que es un desarrollo argentino, y pueden...
  • JosepJC: Creo que no voy a esperar al desire… a ver si me sueltan info los de Vodafone.

Historial