微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android识别API中的请求代码是什么

如何解决Android识别API中的请求代码是什么

            Intent recIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
            recIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
            recIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE,Locale.ENGLISH);
            recIntent.putExtra(RecognizerIntent.EXTRA_PROMPT,"Need to speak");
            try {
                startActivityForResult(intentRec,REQ_CODE);
            } catch (ActivityNotFoundException a) {
                Toast t = Toast.makeText(getApplicationContext(),"Opps! Your device doesn't support Speech to Text",Toast.LENGTH_SHORT);
                t.show();
            }

@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data) {
    super.onActivityResult(requestCode,resultCode,data);
    switch(resultCode) {
        case REQ_CODE:
            if (resultCode == RESULT_OK && null != data) {
                ArrayList<String> result = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
                Toast.makeText(getApplicationContext(),String.valueOf(data.hasExtra(RecognizerIntent.EXTRA_RESULTS)),Toast.LENGTH_SHORT);
            }
        break;
    }
}

我一直在关注识别 API 的教程,但我仍然没有得到请求代码是什么以及为什么代码不再工作,它没有显示任何错误,甚至没有以 false 响应我的操作 那么如何使用请求代码呢?代码没有显示任何输出

解决方法

您需要对语音到文本进行初始设置,并且每当您尝试说话时,您都需要调用 speak 方法。 按照下面的代码:

    private var mTextToSpeechListener: TextToSpeech? = null
    val REQUEST_CODE_SPEECH_INPUT = 5003

 /**
 * Showing google speech input dialog
 */
private fun speechToTextOutput() {
    val intent = Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH)
    intent.putExtra(
        RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM
    )
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE,Locale.getDefault())
    intent.putExtra(RecognizerIntent.EXTRA_PROMPT,"Say something")
    try {
        startActivityForResult(intent,REQUEST_CODE_SPEECH_INPUT)
    } catch (exp: ActivityNotFoundException) {
        Lg.d(TAG,"speechToTextOutput: $exp")
    }

}

override fun onActivityResult(requestCode: Int,resultCode: Int,data: Intent?) {
    super.onActivityResult(requestCode,resultCode,data)
    if (resultCode == Activity.RESULT_OK) {
        when (requestCode) {
            REQUEST_CODE_SPEECH_INPUT -> {
                val resultSpeech = data!!
                    .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS)
                if (resultSpeech != null && resultSpeech.size > 0) {
                    mBinding.txtSpeechToText.text = resultSpeech.get(0)
                }
            }
        }
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?