#android #kotlin
#Android #kotlin
Вопрос:
Любой код, который выполняет функцию приостановки и возобновления текста с помощью «TextToSpeech»? Это для мобильного проекта, который использует Android Studio с языком Kotlin. Я видел примеры, но они мне непонятны.
в моем проекте ReadingActivity у меня есть тестовый массив:
ClassMateApplication.getApp()?.myList = arrayListOf(
"Oración 1",
"Oración 2",
"Oración 3",
"Oración 4",
"Oración 5",
"Oración 6"
)
Итак, в этой функции «воспроизведение» я пытаюсь сделать паузу и получить индекс, это для того, чтобы снова начать воспроизведение и начать с того места, где я остановился:
fun play(inicio:Int){
Log.v("FVFFGWEDWDWDQWARERDS555", ClassMateApplication.getApp()?.myList!!.size.toString())
if(inicio == 0){
for((index, oracion) in ClassMateApplication.getApp()?.myList!!.withIndex()){
ClassMateApplication.getApp()?.textToSpeech?.speak(oracion, TextToSpeech.QUEUE_ADD, null)
ClassMateApplication.getApp()?.sentenceCounter = index 1
}
//imageViewPlayerPlay.setImageResource(R.drawable.play_one)
}else{
var myList2: MutableList<String> = ArrayList()
for((index) in ClassMateApplication.getApp()?.myList!!.withIndex()){
if(index >= ClassMateApplication.getApp()?.sentenceCounter!!.minus(1)){
myList2.add(ClassMateApplication.getApp()?.myList!![index])
}
}
for((index, oracion) in myList2.withIndex()){
ClassMateApplication.getApp()?.textToSpeech?.speak(oracion, TextToSpeech.QUEUE_ADD, null)
ClassMateApplication.getApp()?.sentenceCounter = index 1
}
//imageViewPlayerPlay.setImageResource(R.drawable.play_one)
}
}
затем эта функция вызывается в функции «speakText»: эта функция приостанавливает и воспроизводит текст, но когда я играю, она не возвращается с того места, где я сделал паузу, и начинается с индекса 0 массива.
fun speakText(){
//if (textToSpeech.isSpeaking()){
if (ClassMateApplication.getApp()?.textToSpeech!!.isSpeaking()){
imageViewPlayerPlay.setImageResource(R.drawable.play_one)
pause()
}else{
imageViewPlayerPlay.setImageResource(R.drawable.pause)
if(ClassMateApplication.getApp()!!.sentenceCounter > 0){ //wait int
play(ClassMateApplication.getApp()!!.sentenceCounter)
} else{
play(0)
}
}
}
Комментарии:
1. Можете ли вы отредактировать свой пост, включив в него соответствующие разделы кода и то, что вы уже пробовали?
2. да, я уже внес изменения