Я пытаюсь запустить средство распознавания речи в Kotlin с Android Studio. Решив проблемы с компилятором с помощью stackoverflow, я столкнулся со следующей проблемой: SpeechRecognizer больше не заканчивается.
Я уверен, вчера, после ожидания, время по умолчанию может составлять от 3 до 5 секунд, управление речью закончилось. Когда я ничего не говорил, ответ был «попробуйте еще раз», в другом месте он закончился правильно.
Теперь «окно ввода речи не заканчивается, пока я не щелкну в окне. И У меня НЕТ ИДЕИ; ЧТО Я МОГ ИЗМЕНИТЬСЯ !!!!
Я добавляю «RecognizerIntent.EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS, 100» (что НЕ ПРЕДЛАГАЕТСЯ !!), но также не помогает
Это код для распознаватель речи
fun btnhear(view: View) {
val speechRecognitionIntent = Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH)
speechRecognitionIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault().toString())
speechRecognitionIntent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS, 100)
startActivityForResult(speechRecognitionIntent, SPEECHINTENTRQ)
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
textView.text = "vor der if loop " + requestCode + " " + resultCode
//var speechresult: String? = String()
if (requestCode == SPEECHINTENTRQ && resultCode == Activity.RESULT_OK) {
textView.text = "in der if loop " + Activity.RESULT_OK
var speechresult2: ArrayList<String> =
data?.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS) ?: ArrayList()
if (speechresult2.isNullOrEmpty()) {
textView.text = "nothing heard " + Activity.RESULT_OK
}
else {
var spokenText = speechresult2[0]
editText.setText(spokenText)
}
}
else
editText.setText("Keine Eingabe"+requestCode)
//super.onActivityResult(requestCode, resultCode, data)
}
Я ценю любую идею, что я мог сделать не так. Я запустил его на эмуляторе и попробовал 2, Pixel 2 API28 и Pixel API 28