Исходники
Ниже я представил видео конечного результата.
Я разработал простой интерфейс с одним полем ввода и кнопкой, чтобы вызвать событие, которое будет принимать текст из поля ввода и воспроизводить данный текст.

1. Создайте новый проект, выбрав File ⇒ New Android Project и заполните необходимые данные.
2. Реализация вашего основного класса активности из TextToSpeech.OnInitListener
public class AndroidTextToSpeechActivity extends Activity implements TextToSpeech.OnInitListener {
3. Теперь добавьте следующий код в главный класс.
package com.androidhive.texttospeech; import java.util.Locale; import android.app.Activity; import android.os.Bundle; import android.speech.tts.TextToSpeech; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; public class AndroidTextToSpeechActivity extends Activity implements TextToSpeech.OnInitListener { /** Called when the activity is first created. */ private TextToSpeech tts; private Button btnSpeak; private EditText txtText; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tts = new TextToSpeech(this, this); btnSpeak = (Button) findViewById(R.id.btnSpeak); txtText = (EditText) findViewById(R.id.txtText); // button on click event btnSpeak.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { speakOut(); } }); } @Override public void onDestroy() { // Don't forget to shutdown tts! if (tts != null) { tts.stop(); tts.shutdown(); } super.onDestroy(); } @Override public void onInit(int status) { if (status == TextToSpeech.SUCCESS) { int result = tts.setLanguage(Locale.US); if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) { Log.e("TTS", "This Language is not supported"); } else { btnSpeak.setEnabled(true); speakOut(); } } else { Log.e("TTS", "Initilization Failed!"); } } private void speakOut() { String text = txtText.getText().toString(); tts.speak(text, TextToSpeech.QUEUE_FLUSH, null); } }
4. И запустите проект.
Изменение языка
Вы можете изменить язык, используя функцию SetLanguage (). На данный момент поддерживаются многие языки.
tts.setLanguage(Locale.CHINESE); // Chinese language
Изменение громкости
Вы можете изменить уровень громкости, используя функцию setPitch (). По умолчанию значение равно 1.0.
tts.setPitch(0.6);
Изменение скорости
Частоту воспроизведения можно установить с помощью функции setSpeechRate (). По умолчанию значение равно 1.0.
tts.setSpeechRate(2);

