2012-11-12 15 views
5

Javaを使用してGoogle Translateからテキストを音声にダウンロードしようとしています。英語はうまく動作しますが、日本語はうまくいきません。以下は私のコードです:Java:Googleから音声をダウンロードする

try{ 
      String word="〜のそばに"; 
      word=java.net.URLEncoder.encode(word, "UTF-8"); 
      URL url = new URL("http://translate.google.com/translate_tts?tl=ja&q="+word); 
      HttpURLConnection urlConn = (HttpURLConnection) url.openConnection(); 
      urlConn.addRequestProperty("User-Agent", "Mozilla/4.76"); 
      InputStream audioSrc = urlConn.getInputStream(); 
      DataInputStream read = new DataInputStream(audioSrc); 
      OutputStream outstream = new FileOutputStream(new File("mysound.mp3")); 
      byte[] buffer = new byte[1024]; 
      int len; 
      while ((len = read.read(buffer)) > 0) { 
        outstream.write(buffer, 0, len);      
      } 
      outstream.close();    
}catch(IOException e){ 
      System.out.println(e.getMessage()); 
} 

ご意見やご提案はありますか?

+0

日本語はどうなりますか? –

+0

音が出ないファイルがあります – DavidNg

+0

はサイズがゼロのファイルですか、それとも壊れていますか? –

答えて

6

検索キーワードにはUTF-8でエンコードされた文字が含まれているとGoogleに伝える必要があるようです。

URLをhttp://translate.google.com/translate_tts?ie=UTF-8&tl=ja&q=に変更すると、問題が解決します。 Google翻訳サイトからの音声翻訳と同じように.mp3がダウンロードされます。

+1

完璧な、ありがとう – DavidNg

関連する問題