从谷歌翻译下载非拉丁语脚本语言文件

时间:2014-10-25 13:11:48

标签: android binary download translate

我正在尝试下载使用Google翻译生成的mp3文件。它适用于使用拉丁文脚本的语言,但是如果我试试泰语它根本不起作用。

有人有建议吗?这是我的代码:

public class MyActivity extends Activity {

    private Button mButton;

    private File mOutputFile;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);

        new Thread(new Runnable() {
            @Override
            public void run() {
                String uri = Uri.parse("http://translate.google.com/translate_tts")
                        .buildUpon()
                        .appendQueryParameter("tl", "th")
                        .appendQueryParameter("q", "ก")
                        .build().toString();

                mOutputFile = new File(getFilesDir(), "sound.mp3");

                try {
                    new DefaultHttpClient().execute(new HttpGet(uri))
                            .getEntity().writeTo(
                            new FileOutputStream(mOutputFile));
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }).start();

        mButton = (Button) findViewById(R.id.speak);
        mButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                play(mOutputFile.getAbsolutePath());
            }
        });
    }

    private void play(String path) {
        MediaPlayer mediaPlayer = new MediaPlayer();

        try {
            mediaPlayer.setDataSource(path);
            mediaPlayer.prepare();
            mediaPlayer.start();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我前一段时间发现并且记得我应该发布我的发现。我需要在网址上添加另一个参数:

.appendQueryParameter(“ie”,“utf-8”)

现在它完美无缺。

相关问题