android 自動朗讀功能
import java.util.Locale;import android.app.Activity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.OnInitListener;
import android.view.View;
import android.view.View.OnClickListener;import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;public class Speech extends Activity {
TextToSpeech tts;
EditText edittext;
Button play;
Button record;
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.speech);
tts=new TextToSpeech(this,new OnInitListener()
{public void onInit(int status) { // TODO Auto-generated method stub if(status==TextToSpeech.SUCCESS) { int result=tts.setLanguage(Locale.US); if(result!=TextToSpeech.LANG_AVAILABLE) { Toast.makeText(Speech.this, "TTS暫時不支持這種語言的朗讀。", 50000).show(); } } } }); edittext=(EditText)findViewById(R.id.edittext); play=(Button)findViewById(R.id.play); record=(Button)findViewById(R.id.record); play.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub tts.speak(edittext.getText().toString(), TextToSpeech.QUEUE_ADD, null); } }); record.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub tts.synthesizeToFile(edittext.getText().toString(), null, "/mnt/sdcard/sound.wav"); Toast.makeText(Speech.this, "聲音文件記錄成功", 50000).show(); } });
}
private OnInitListener OnInitListener() {
// TODO Auto-generated method stub
return null;
}
public void onDestory()
{
if(tts!=null){
tts.shutdown();
}
}} </pre>