2

我使用以下代码将文本转换为语音,但出现以下错误:

错误

原因:java.io.IOException:服务器返回 HTTP 响应代码:503 用于 URL:http://ipv4.google.com/sorry/IndexRedirect?continue=http: //translate.google.com/translate_tts%3Fie%3DUTF -8%26q%3DHello%2BWorld%26tl%3Dde%26prev%3Dinput&q=CGMSBCmIeyUYvpnkrwUiGQDxp4NLHAGq2VYVjoplnZ0vwMrZvShTrYA at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) (来源不明)在 us.monoid.web.AbstractResource.fill(AbstractResource.java:30) ... 还有 5 个

Java 代码

public class TextToSpeech {

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) {
    say("Hello World");
}

public static void say(String text) {
    try {
        File f = new File("translate.mp3");
        String sentence = URLEncoder.encode(text, "UTF-8");
        String urlString = MessageFormat.format(BASE_URL, sentence, "de");
        BinaryResource res = new Resty().bytes(new URI(urlString));
        res.save(f);

        FileInputStream in = new FileInputStream(f);

        Player p = new Player(in);

        p.play();

        p.close();

    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (URISyntaxException e) {
        e.printStackTrace();
    } catch (JavaLayerException e) {
        e.printStackTrace();
    }

请注意,我已经包含了 JLayer 和 Resty 的 jar 文件。请帮助!谢谢

4

0 回答 0