viernes, junio 26, 2015

Obtener sonido de Google Traslate con Java




Lo que pasa es de que!!, esta vez quería ver algo así de rápido, no quería nada complicado  y claro no hacer algo que ya existiera. Pues bien esta vez necesitaba  traer el sonido que genera google traslate ese sonido que se asigna  cuando escribes una frase a traducir. si claro como  la imagen de abajo





Pues bien yo necesitaba traer este sonido que genera google traslate (Speach Google) a mi maquina pero no sabia como entonces busque en Internet y esto fue lo que encontré.

http://stackoverflow.com/questions/9163988/download-mp3-from-google-translate-text-to-speech


Y pues bien dado que ahí ponían algunas soluciones yo quise hacerlo para ver si era cierto, entonces la opción que escogí fue la siguiente:

package com.elkardumen.googleTraslate;

import java.io.FileOutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import org.apache.commons.io.IOUtils;


public class GetSoundFromGoogleTraslate {

public static void main(String[] args) {
URL url;
try {
url = new URL("http://translate.google.com/translate_tts?tl=en&q=\"hello\"");
HttpURLConnection httpcon = (HttpURLConnection) url.openConnection();
httpcon.addRequestProperty("User-Agent", "anything");
IOUtils.copy(httpcon.getInputStream(), new FileOutputStream("output.mp3"));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

(Tuve que importar la librería commons-io-2.4.jar para utilizar IOUtils.copy)

Y sorpresa si me funciono, al ejecutarlo este me genera el archivo output.mp3  en la carpeta principal del proyecto.



probé varias palabras y bendito Google me había dado una solución a mi solicitud. Cuando quise traducir frases como "Hello World" , en mi resultado solo me mandaba la palabra inicial, es decir "Hello", entonces,tuve que agregar a esa frase  el "%20" en el espacio en blanco , algo asi

url = new URL("http://translate.google.com/translate_tts?tl=en&q=\"hello%20world\"");


y así fue como funciono,  obtuve el sonido que google traslate me respondia. Este pequeño aporte es para compartir algo de lo mucho que hay en Internet y claro para que a mi no se me olvide que hice alguna vez esto. 




No hay comentarios.:

Publicar un comentario