这是我的文本到语音服务部分,我在其中获取数据并且工作正常,现在我收到此错误“java.io.FileNotFoundException:http://ipv4.google.com/sorry/IndexRedirect?continue=http://translate.google.com/translate_tts%3Ftl%3Den-AU%26q%3Dhello%2Bhow%2Bare%2Byou%2Btoday%2B&q=CGMSBMpY7fgYhL_crQUiGQDxp4NL6gmQZhZKyI3fztC8pj7G18P2vhg”当我在浏览器上打开相同的内容时,我得到了这个如果我正在编写字符,我将获得所需的数据。这是一个常见问题还是谷歌更改了某些内容请帮助
// data
{
// Log.e("JUSTLOGGINGURL", text);
text = URLEncoder.encode(text, "UTF-8");
String voiceUrl = "http://translate.google.com/translate_tts?tl="
+ lang_to + "&q=" + text;
// Log.e("JUSTLOGGINGURL", voiceUrl);
HttpURLConnection con = null;
InputStream is = null;
try {
URL url = new URL(voiceUrl);
con = (HttpURLConnection) url.openConnection();
con.setRequestProperty(
"User-Agent",
"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");
// con.setRequestProperty(
// "User-Agent",
// "Mozilla/5.0 (Linux; Android 4.0.0; Nexus 7 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36");
con.setRequestMethod("GET");
con.setDoInput(true);
con.connect();
is = con.getInputStream();
} catch (IOException e) {
e.printStackTrace();
is = null;
return is;
}
return is;
最佳答案
你很聪明;)
但是你必须记住,当你使用来自页面源的链接时,它会发生变化。 谷歌只是阻止你,因为你提出了很多要求或类似的事情。
您有 3 种解决方案:
使用 Google Translate API 并付费 - Here you have Pricing .
使用另一个免费用于商业用途的 API - 这里有一些 free API .但如果你想要更多,你必须在谷歌中四处看看。
使用 Android (TextToSpeech) 中的 TTS 服务中的构建 - 你必须知道它是个小问题。
关于Android 文本转语音服务突然停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31668885/