我尝试通过Android Studio在Kotlin中运行语音识别器。在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
抱歉:我的回答是:我不知道为什么,但是偶然地我在模拟器上失去了语音识别功能。我尝试通过USB设备连接在智能手机上运行/调试。
尝试几个小时以使语音识别再次在模拟器上运行,但无法再次使用。检查大量的互联网提示,尝试(我认为是全部)设置,安装Google Assistant,无论是否登录到我的帐户都无法运行。遗憾的是,但是我想我必须跳过它并直接在智能手机上进行测试(我有3部可以运行“ Ok google”的智能手机,但是在仿真器上我无法....
并在智能手机上进行测试-该应用程序可正常运行