如何保持将语音转换为文本的结果?

时间:2019-04-14 23:11:36

标签: java android speech-to-text

该应用程序有一个问题列表,用户必须在其中说出语音然后输入,然后回答。当用户触摸EditText并通过单击“讲话”按钮开始讲话时,它将完美地转换为文本。问题是,当用户想要再次使用相同 EditText讲话以完成答案,删除了先前的结果并显示了新的结果时。

这是当前代码

@Override
            public void onResults(Bundle bundle) {
                //getting all the matches
                ArrayList<String> matches;

                matches = bundle.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION);


                for (int j = 0; j < speEdtId.length; j++) {
                    eEdit = findViewById(speEdtId[j]);

                    //displaying the first match
                    if (matches != null)

                        if (eEdit.hasFocus())

                            eEdit.setText(matches.get(0));


                }
            }


            @Override
            public void onPartialResults(Bundle bundle) {

            }

            @Override
            public void onEvent(int i, Bundle bundle) {

            }
        });

        ImageButton speak = findViewById(R.id.speak);
        speak.setOnTouchListener(new View.OnTouchListener() {


            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                switch (motionEvent.getAction()) {
                    case MotionEvent.ACTION_UP:
                        speechRecognizer.stopListening();

                        break;

                    case MotionEvent.ACTION_DOWN:
                        speechRecognizer.startListening(speechRecognizerIntent);


                        break;
                }
                return false;
            }
        });

    }

是否有任何方法可以防止删除EditText的先前结果,或者是否有办法将旧结果与新结果结合在一起。我想以任何方式将结果保留在EditText

0 个答案:

没有答案