小编Ped*_*res的帖子

Android RecognitionListener:onResults 被调用两次

我有一个使用 Kotlin 编写的 RecognitionListener 的项目。语音转文本功能一直很成功,从未出现任何问题。

从上周开始,它的 onResult 函数开始被调用两次。没有对项目进行任何更改。我测试了该项目的旧版本(从几个月前开始)并且那些有同样的问题。

存在三种不同的情况:

  1. 小文本(1 到 8 个字)和 SpeechRecognizer 自动停止 -> onResult() 调用两次;
  2. 大文本(9 个字或更多)和 SpeechRecognizer 自动停止 -> 正常行为(onResult() 调用一次);
  3. 手动调用的任何文本大小和 SpeechRecognizer stopListening() 函数(从代码中)-> 正常行为。

这是 VoiceRecognition 语音到文本类代码:

class VoiceRecognition(private val activity: Activity, language: String = "pt_BR") : RecognitionListener {

    private val AudioLogTag = "AudioInput"

    var voiceRecognitionIntentHandler: VoiceRecognitionIntentHandler? = null
    var voiceRecognitionOnResultListener: VoiceRecognitionOnResultListener? = null //Must have this
    var voiceRecognitionLayoutChanger: VoiceRecognitionLayoutChanger? = null

    var isListening = false

    private val intent: Intent
    private var speech: SpeechRecognizer …
Run Code Online (Sandbox Code Playgroud)

android speech-to-text voice-recognition kotlin

14
推荐指数
1
解决办法
2109
查看次数