Я хочу изменить значки (воспроизведение и пауза) во время речи textToSpeech и остановиться в RecyclerView Android.Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Я хочу изменить значки (воспроизведение и пауза) во время речи textToSpeech и остановиться в RecyclerView Android.

Сообщение Anonymous »

Я хочу сделать ChatScreen похожим на ChatGPT . В ChatScreen я хочу изменить значки воспроизведения и паузы, пока TextToSpeech говорит или останавливается в RecyclerView. Я работаю над этим уже три или четыре дня.
Я пробовал это, но не могу найти идеальное решение.
Изображение

Вот мой адаптер< /strong>

Код: Выделить всё

class ChatAdapter(
var context: Context,
private var chatList: ArrayList,
private var textToSpeech: TextToSpeech,
private var copyClick: (Int) -> Unit,
private var forwardClick: (Int) -> Unit,
private var speechClick: (Int, ViewHolder) -> Unit,
private var pauseClick: (ViewHolder) -> Unit
) : RecyclerView.Adapter() {

Код: Выделить всё

   class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var message: AppCompatTextView = view.findViewById(R.id.tvMessage)
var forward = view.findViewById(R.id.ivForward)
var ivPlay = view.findViewById(R.id.ivPlay)
var ivPause = view.findViewById(R.id.ivPause)
var copy = view.findViewById(R.id.ivCopy)
}

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
return if (chatList[viewType].isSend!!) {
ViewHolder(
LayoutInflater.from(parent.context)
.inflate(R.layout.item_chat_send_message, parent, false)
)
} else {
ViewHolder(
LayoutInflater.from(parent.context)
.inflate(R.layout.item_chat_receive_message, parent, false)
)
}
}

override fun getItemCount(): Int {
return chatList.size
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
if (chatList[position].isSend!!) {
holder.message.text = chatList[position].text
} else {
holder.message.text = chatList[position].text?.trim()
holder.copy.setOnClickListener {
copyClick.invoke(position)
}
holder.ivPlay.setOnClickListener {
speechClick.invoke(position, holder)
}
holder.ivPause.setOnClickListener {
pauseClick.invoke(holder)
}
holder.forward.setOnClickListener {
forwardClick.invoke(position)
}
}
}
override fun getItemViewType(position: Int): Int {
return position
}
Эта функция устанавливает ChatAdapter[/b]

Код: Выделить всё

fun setData() {
textToSpeech = TextToSpeech(activity) {}
textToSpeech.language = Locale.US
chatList = ArrayList()
val model = (ChoicesItem(
activity.getString(R.string.stop),
0,
activity.getString(com.hashmob.aichat.R.string.hi_there),
false,
null
))
chatList.add(model)
adapter = ChatAdapter(
activity,
chatList, textToSpeech,
this::onCopyClick,
this::onForwardClick,
this::onSpeechClick,
this::onPauseClick
)
binding.rcvChat.layoutManager = LinearLayoutManager(activity)
binding.rcvChat.setHasFixedSize(true)
binding.rcvChat.adapter = adapter
adapter.notifyDataSetChanged()
}
Изображение


Подробнее здесь: https://stackoverflow.com/questions/784 ... -stop-in-r
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Разница между TextToSpeech.addEarcon() и TextToSpeech.addSpeech()
    Anonymous » » в форуме Android
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Разница между TextToSpeech.addEarcon() и TextToSpeech.addSpeech()
    Anonymous » » в форуме Android
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Разница между TextToSpeech.addEarcon() и TextToSpeech.addSpeech()
    Anonymous » » в форуме Android
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Разница между TextToSpeech.addEarcon() и TextToSpeech.addSpeech()
    Anonymous » » в форуме Android
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Разница между TextToSpeech.addEarcon() и TextToSpeech.addSpeech()
    Anonymous » » в форуме Android
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»