Я изучаю разработку Android в первый раз, и моя цель - создать простое приложение Hello World, которое принимает какой-то текст и читает их вслух.
Я основывал свой код на примере, который я нашел, и вот мой код:
class MainFeeds : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main_feeds)
card.setOnClickListener{
Toast.makeText(this, "Hello", Toast.LENGTH_LONG).show()
TTS(this, "Hello this is leo")
}
}
}
class TTS(private val activity: Activity,
private val message: String) : TextToSpeech.OnInitListener {
private val tts: TextToSpeech = TextToSpeech(activity, this, "com.google.android.tts")
override fun onInit(i: Int) {
if (i == TextToSpeech.SUCCESS) {
val localeUS = Locale.US
val result: Int
result = tts.setLanguage(localeUS)
if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) {
Toast.makeText(activity, "This Language is not supported", Toast.LENGTH_SHORT).show()
} else {
speakOut(message)
}
} else {
Toast.makeText(activity, "Initilization Failed!", Toast.LENGTH_SHORT).show()
}
}
private fun speakOut(message: String) {
tts.speak(message, TextToSpeech.QUEUE_FLUSH, null, null)
}
}
И это работает отлично, проблема, с которой я сталкиваюсь, заключается в том, что звук, выходящий из синтезатора, звучит очень роботизированно, почти так же, как при использовании Google Maps, и я отключился от Интернета. Использует ли голос Google Assistant использовать другой API, который мне нужно включить?
EDIT: Я пытался запустить приложение на моем пикселе 2xl, и он по-прежнему звучит как робот, так как в нем не используется голос Google Assistant.