如何知道语音朗读何时完成?

时间:2019-06-19 17:29:10

标签: android speech-to-text onactivityresult

我也在活动中使用语音来发短信,而我也在做其他事情。我怎么能等到对文本的发言结束,因为我需要其中的文本。

现在,我得到了onActivityResult文本,它需要一些时间才能得到结果,并且我同时有其他线程在工作。我必须一个接一个地停留,直到得到onActivityresult的结果。这就是我将语音转换为文本的方式。

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
        intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
                RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
        intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.US);
        intent.putExtra(RecognizerIntent.EXTRA_PROMPT,
                "Hi speak something");
        try {
            startActivityForResult(intent, REQ_CODE_SPEECH_INPUT);
        } catch (ActivityNotFoundException a) {

        }

这是onActivityResult

protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            switch (requestCode) {
                case REQ_CODE_SPEECH_INPUT: {
                    if (resultCode == RESULT_OK && null != data) {

                        ArrayList<String> result = data
                                .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
                        message=result.get(0);
                        Log.i("answer", message);

                    }
                    break;
                }


            }



        }
}

我需要使用message在应用程序中工作,但是要花一些时间才能得到写入文本。

0 个答案:

没有答案