Возможно ли озвучить текст который отображается в TextView?
Может встроенным синтезатором речи Android или как-то по-другому? В какую сторону копать?
Да, возможно, например с помощью встроенного синтезатора речи.
Вот простой пример использования TextToSpeech:
public class MainActivity extends AppCompatActivity implements TextToSpeech.OnInitListener {
private Button mSpeakButton;
private TextToSpeech mTextToSpeech;
private boolean mIsInit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSpeakButton = (Button) findViewById(R.id.speek_button);
mTextToSpeech = new TextToSpeech(this, this);
mSpeakButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mIsInit) {
String textToSpeech = "Привет!";
mTextToSpeech.speak(textToSpeech, TextToSpeech.QUEUE_FLUSH, null, "id1");
}
}
});
}
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
Locale locale = new Locale("ru");
int result = mTextToSpeech.setLanguage(locale);
if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) {
mIsInit = false;
} else {
mIsInit = true;
}
} else {
mIsInit = false;
}
}
}
При запуске приложения происходит инициализация TextToSpeech, результат которой возвращается в коллбэк:
public void onInit(int status)
Если инициализация прошла успешно, то флаг mIsInit устанавливается в true, в противном случае – в false.
Далее, по нажатию на кнопку происходит воспроизведение текста из переменной textToSpeech.
Продвижение своими сайтами как стратегия роста и независимости