음성 API Exception 관련 문의드립니다

안드로이드 / newtone:6.1.4
handleOnFinalResultConf 함수의 for 문에서 OutOfBoundsException 이 발생하는 이유를 알 수 있나요?

E/AndroidRuntime: FATAL EXCEPTION: Thread-1970
java.lang.ArrayIndexOutOfBoundsException: length=3; index=3
at com.dialoid.speech.recognition.SpeechRecognizer.handleOnFinalResultConf(SpeechRecognizer.java:634)

private void handleOnFinalResultConf(String[] texts, int[] intAryConf) {
DLog.d(“SpeechRecognizer”, “handleOnFinalResultConf”);
SpeechRecognizer.FinalResultConf resultconf = new SpeechRecognizer.FinalResultConf();
resultconf.texts = texts;
resultconf.intAryConf = intAryConf;
if (this.mListener != null) {
for(int i = 0; i < intAryConf.length; ++i) {
DLog.d(“SpeechRecognizer”, "Final Result - texts: " + texts[i] + ", confidences: " + intAryConf[i]);
}

        this.mSpeechEventHandler.sendMessage(this.mSpeechEventHandler.obtainMessage(2, resultconf));
    }

}

답변을 받을 수 있을까요? 아니면 추가 정보가 필요하실까요?
그리고 해당 에러는 음성입력시 매우 간헐적으로 발생합니다.

안녕하세요!

카카오 음성 기술에 관심가져 주셔서 감사합니다.

답변이 늦어 죄송합니다 :disappointed_relieved:

알려주신 문제를 해결하려면 어떤 방법으로 적용했는지 알아야할것 같은데요.

매우 간헐적이라는게 빈도가 어느정도 되는건가요?
혹시 SpeechRecognizerClient 인스턴스를 여러개를 사용하고 계신가요?

안녕하세요.
답변 감사합니다.
우선 SpeechRecognizerClient 의 인스턴스는 하나만 사용하고 있습니다.
적용한 방법은 음성인식이 한번 실행 후 종료가 아닌 listen 상태를 유지하기 위해 SpeechRecongnizeListener 의onFinished() 가 호출된 경우 SpeechRecongnizerClient 를 재실행 하는 방식으로 적용되어있습니다.
발생빈도의 경우 위의 방식으로 onFinished 시 재시작하는 상태를 유지하는 경우 5~10분에 한 번정도 발생하고 있습니다.

혹시 웨이크업 작업으로 인식프로세스를 작동시키시는게 아니라 계속 리스닝 상태를 유지하고 계신건가요?
저희가 지원해드리는 SDK는 상시 인식이 적용되어 있지 않습니다 :disappointed_relieved:

비정상적으로 사용시 임의로 서버에서 세션을 종료할 수도 있습니다.