@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game_toast);
btnMyToast = findViewById(R.id.btnPassEdit);
imageView2 = findViewById(R.id.imageView2);
editText = findViewById(R.id.editText);
tts = new TextToSpeech(this, new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
int result = tts.setLanguage(Locale.KOREA);
if (result == TextToSpeech.LANG_NOT_SUPPORTED || result == TextToSpeech.LANG_MISSING_DATA) {
Log.e("TTS", "Language not supported.");
}
} else {
Log.e("TTS", "Initialization failed.");
}
}
});
imageView2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
CharSequence text = editText.getText();
tts.setPitch((float)0.5); // 톤조절
tts.setSpeechRate((float)0.8); // 속도
tts.speak(text, TextToSpeech.QUEUE_FLUSH, null, "uid");
// 첫 번째 매개변수: 음성 출력을 할 텍스트
// 두 번째 매개변수: 1. TextToSpeech.QUEUE_FLUSH - 진행중인 음성 출력을 끊고 이번 TTS의 음성 출력
// 2. TextToSpeech.QUEUE_ADD - 진행중인 음성 출력이 끝난 후에 이번 TTS의 음성 출력
}
});
}
@Override
protected void onDestroy() {
if (tts != null) {
tts.stop();
// Interrupts the current utterance (whether played or rendered to file) and
// discards other utterances in the queue.
tts.shutdown();
// Releases the resources used by the TextToSpeech engine.
}
super.onDestroy();
}
}