【问题标题】:Java: "java google translate text to speech"Java:“java google 将文本翻译成语音”
【发布时间】:2014-01-10 04:39:55
【问题描述】:

我正在尝试使用 “java-google-translate-text-to-speech” 开发一个应用程序。因此,我看到了 API 并执行了示例程序。

Audio audio = Audio.getInstance();
InputStream sound = audio.getAudio("I am a bus", Language.ENGLISH);
audio.play(sound);

当我执行这段代码时,我能够听到内容。但是,当我将语言从 ENGLISH 更改为 TELUGU 时,我遇到了一个异常,例如

Exception in thread "main" java.io.FileNotFoundException: http://translate.google.com/translate_tts?q=I%20am%20a%20bus&tl=te
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1610)
at com.gtranslate.Audio.getAudio(Audio.java:34)
at speech.Play.main(Play.java:15)

我也观察到其他一些语言的这种行为。

  1. 那么我该如何解决这个问题...???
  2. 我的第二个问题是,我想发送一封包含此音频/内容的自动电子邮件。因此,当用户打开该邮件时,需要播放音频。这个 Google API 可以吗...???

谁能帮我解决这两个问题...

感谢和问候, 阿马尔。

【问题讨论】:

  • 好吧,如果我在浏览器中输入地址,我会收到 404 错误...

标签: java google-translate


【解决方案1】:

首先,我注意到您的 FileNotFound 是对 translate.google.com 的请求的结果,所以我猜您正在使用的库只是包装对那里提供的 API 的调用。

基于此,在我看来,某些语言还没有启用 TTS - 大概 Google 还没有为它们创建音频数据库。例如,转到“http://translate.google.com/#en/es/asdf”,并注意左侧西班牙语框中的“音频”图标。然后选择 Telugu 作为“to”语言,并注意音频图标消失。经过反复试验,我发现马拉地语和乌尔都语等也缺少音频。

所以,很遗憾,如果您真的想要泰卢固语音频,我认为没有使用此库的解决方案。

对于您的第二个问题,我没有具体的答案,尽管更多细节会有所帮助 - 我知道在电子邮件中嵌入音频很困难,但取决于您可用的基础设施/您的运营规模,您也许可以将文件托管在某处,并提供链接。

【讨论】:

    【解决方案2】:

    看起来有 100 个字符的限制。您需要以少于 100 个字符的块传递要转换的文本。

    【讨论】:

    • 是的,我也通过 API 尝试过这个,当时在拒绝后续请求之前您可以发出的请求数量也有限制。如果现在仍然存在,我无法评论。但是自动化使用它的尝试很快就失败了。
    【解决方案3】:

    有些语言没有音频翻译,所以很明显会返回一个空指针异常。转到http://translate.google.com/,看看哪些语言有音频翻译。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-31
      • 2013-05-06
      • 2015-09-22
      • 1970-01-01
      • 2017-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多