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
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 gustaMe gusta