text-to-speech発音
2060 ワード
//
[b]public class SpeakingActivity extends Activity {
public static String tag = "speakingactivity debut";
private EditText et;
private Button bt;
private TextToSpeech tts;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.speak);
tts = new TextToSpeech(this, ttsInitListener);
et = (EditText) findViewById(R.id.et);
bt = (Button) findViewById(R.id.btOne);
bt.setText(R.string.bt);
bt.setOnClickListener(new MyListNer());
}
class MyListNer implements OnClickListener {
public void onClick(View v) {
if (et.getText().length() > 0) {
// :D
tts.speak(et.getText().toString(), TextToSpeech.QUEUE_FLUSH,
null);
} else {
//
tts.speak("Nothing to say", TextToSpeech.QUEUE_FLUSH, null);
}
}
}
private TextToSpeech.OnInitListener ttsInitListener = new TextToSpeech.OnInitListener() {
public void onInit(int status) {
//
Locale loc = new Locale("us", "", "");
//
if (tts.isLanguageAvailable(loc) == TextToSpeech.LANG_AVAILABLE) {
tts.setLanguage(loc);
}
tts
.setOnUtteranceCompletedListener(ttsOnUtteranceCompletedListener);
Log.i(tag, "TextToSpeech.OnInitListener");
}
};
private TextToSpeech.OnUtteranceCompletedListener ttsOnUtteranceCompletedListener = new TextToSpeech.OnUtteranceCompletedListener() {
public void onUtteranceCompleted(String utteranceId) {
Log.i(tag, "TextToSpeech.OnUtteranceCompletedListener ");
}
};
// tts
@Override
protected void onDestroy() {
tts.shutdown();
Log.i(tag, "tts.shutdown");
super.onDestroy();
}[/b]