我正在尝试下载使用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();
}
}
}
答案 0 :(得分:0)
我前一段时间发现并且记得我应该发布我的发现。我需要在网址上添加另一个参数:
.appendQueryParameter(“ie”,“utf-8”)
现在它完美无缺。