le programme java de synthèse vocale dans eclipse mars ne fonctionne pas à l'aide de Google translator
Je suis un débutant en java et j'ai suivi un tutoriel vidéo sur la synthèse vocale en java dans ce lien: https://www.youtube.com/watch?v=ameD1ocbn9s
Ici, j'ai rencontré un problème avec l'éclipse mars lors de la compilation de ceci program.It dit comme suit:
Voici mon code:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URLEncoder;
import java.text.MessageFormat;
import javazoom.jl.decoder.JavaLayerException;
import javazoom.jl.player.Player;
import us.monoid.web.BinaryResource;
import us.monoid.web.Resty;
//here,we loaded the javaLayer and resty lib files to this project
public class TextToSpeech
{
//base url from google translator to get the sound,
//tts-text to speech ,q-translating text,tl-translating language
private static final String Base_URL="http://translate.google.com/translate_tts?ie=UTF-8&q={0}&tl={1}&prev=input";
public static void main(String[] args)
{
speech("hello kalanka");
}
public static void speech(String text)
{
try
{
File file=new File("temp.mp3");//temp file to save the sound from google
String sentence= URLEncoder.encode(text,"UTF-8");//encoding the text we send as utf-8
String urlString=MessageFormat.format(Base_URL,sentence,"en");// filling the baseUrl with arguments
//"en" means the English language
BinaryResource res=new Resty().bytes(new URI(urlString));//creating a rest object for the binary resources to get the mp3 file
//which will receive from google
res.save(file);//saving the binary res file in file that we created
FileInputStream in=new FileInputStream(file);
Player pp=new Player(in);//creating the Player object
pp.play();//playing the file
pp.close();//closing the play
file.delete();//deleting the file
}
catch (UnsupportedEncodingException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
catch (URISyntaxException e)
{
e.printStackTrace();
} catch (JavaLayerException e)
{
e.printStackTrace();
}
}
}
Voici l'erreur dans son intégralité:
java.io.IOException: Error while reading from GET: [503] Service Unavailable
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" content="initial-scale=1"><title>http://translate.google.com/translate_tts?ie=UTF-8&q=hello+kalanka&tl=en&prev=input</title></head>
<body style="font-family: arial, sans-serif; background-color: #fff; color: #000; padding:20px; font-size:18px;" onload="e=document.getElementById('captcha');if(e){e.focus();}">
<div style="max-width:400px;">
<hr noshade size="1" style="color:#ccc; background-color:#ccc;"><br>
To continue, please type the characters below:<br><br>
<img src="/sorry/image?id=15657022896595218819&q=CGMSBGf3MFUY-PWSuQUiGQDxp4NLgYkSgFOxxcQGJWJm5jZQLxCJi6c&hl=en&continue=http://translate.google.com/translate_tts%3Fie%3DUTF-8%26q%3Dhello%2Bkalanka%26tl%3Den%26prev%3Dinput" border="1" alt="Please enable images"><br><br><form action="CaptchaRedirect" method="get"><input type='hidden' name='q' value='CGMSBGf3MFUY-PWSuQUiGQDxp4NLgYkSgFOxxcQGJWJm5jZQLxCJi6c'><input type="hidden" name="continue" value="http://translate.google.com/translate_tts?ie=UTF-8&q=hello+kalanka&tl=en&prev=input"><input type="hidden" name="id" value="15657022896595218819"><input type="text" name="captcha" value="" id="captcha" size="12" style="font-size:16px; padding:3px 0 3px 5px; margin-left:0px;"><input type="submit" name="submit" value="Submit" style="font-size:18px; padding:4px 0;"><br><br><br></form>
<hr noshade size="1" style="color:#ccc; background-color:#ccc;">
<div style="font-size:13px;">
<b>About this page</b><br><br>Our systems have detected unusual traffic from your computer network. This page checks to see if it's really you sending the requests, and not a robot. <a href="#" onclick="document.getElementById('infoDiv').style.display='block';">Why did this happen?</a><br><br>
<div id="infoDiv" style="display:none; background-color:#eee; padding:10px; margin:0 0 15px 0; line-height:1.4em;">
This page appears when Google automatically detects requests coming from your computer network which appear to be in violation of the <a href="//www.google.com/policies/terms/">Terms of Service</a>. The block will expire shortly after those requests stop. In the meantime, solving the above CAPTCHA will let you continue to use our services.<br><br>This traffic may have been sent by malicious software, a browser plug-in, or a script that sends automated requests. If you share your network connection, ask your administrator for help — a different computer using the same IP address may be responsible. <a href="//support.google.com/websearch/answer/86640">Learn more</a><br><br>Sometimes you may be asked to solve the CAPTCHA if you are using advanced terms that robots are known to use, or sending requests very quickly.
</div>
IP address: 103.247.48.85<br>Time: 2016-04-30T14:02:34Z<br>URL: http://translate.google.com/translate_tts?ie=UTF-8&q=hello+kalanka&tl=en&prev=input<br>
</div>
</div>
</body>
</html>
at us.monoid.web.AbstractResource.fill(AbstractResource.java:51)
at us.monoid.web.Resty.fillResourceFromURL(Resty.java:432)
at us.monoid.web.Resty.doGET(Resty.java:388)
at us.monoid.web.Resty.bytes(Resty.java:355)
at main.TextToSpeech.speech(TextToSpeech.java:42)
at main.TextToSpeech.main(TextToSpeech.java:28)
Caused by: java.io.IOException: Server returned HTTP response code: 503 for URL: http://ipv4.google.com/sorry/IndexRedirect?continue=http://translate.google.com/translate_tts%3Fie%3DUTF-8%26q%3Dhello%2Bkalanka%26tl%3Den%26prev%3Dinput&q=CGMSBGf3MFUY-PWSuQUiGQDxp4NLgYkSgFOxxcQGJWJm5jZQLxCJi6c
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1840)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
at us.monoid.web.AbstractResource.fill(AbstractResource.java:30)
... 5 more
Veuillez m'aider dans ce code....
2
1 answers
Vous obtenez un Captcha bloquant votre demande. C'est parce que vous accédez au site par programme pensé que le site est conçu pour être utilisé manuellement.
Découvrez la discussion et les solutions potentielles ici: L'API TTS de Google Translate est bloquée
Ou envisagez de rechercher des API alternatives:
0
Author: Scott Newson, 2017-05-23 10:29:36