Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android中的语音到文本API_Android - Fatal编程技术网

android中的语音到文本API

android中的语音到文本API,android,Android,我有一个录音,我得到一个任务,不使用互联网将录音转换成文本 我如何才能做到这一点,我尝试了以下方法: Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); intent.putExtra(Recogn

我有一个录音,我得到一个任务,不使用互联网将录音转换成文本

我如何才能做到这一点,我尝试了以下方法:

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
        RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Voice recognition Demo...");
startActivityForResult(intent, REQUEST_CODE);

但是我没有得到,我如何发送录制的文件并得到结果的文本。

识别器的意图仅适用于不适合您的情况,即通过Internet连接进行实时语音输入


有一个答案可能会有进一步的帮助。

识别器仅适用于不适合您的情况,即通过互联网连接进行实时语音输入


有一个答案可能会有进一步的帮助。

android中有一个可用的识别器Intent

第1步:启动ReconfizerIntent首先,我们需要通过设置必要的标志来创建ReconfizerIntent,如ACTION_Reconficate_SPEECH–只需将用户的语音输入返回到相同的活动语言_MODEL_FREE_FORM–考虑以自由形式输入的英语EXTRA_PROMPT–在要求用户输入时向其显示的文本提示说

步骤2:一旦语音输入完成,接收语音响应,这个意图返回OnActuviyREST中的所有可能结果。通常,我们可以认为第一个结果是最准确的,并采取可能的行动,无论我们需要做什么。 请参考以下代码片段和链接以获得完整的参考

链接:

/**
*显示谷歌语音输入对话框
* */
私有无效promptSpeechInput(){
意向意向=新意向(识别意向、行动、识别言语);
intent.putExtra(识别器intent.EXTRA_语言_模型,
识别者意图、语言、模型、自由形式);
intent.putExtra(RecognizerIntent.EXTRA_语言,Locale.getDefault());
intent.putExtra(识别器intent.EXTRA\u提示符,
getString(R.string.speech_提示符);
试一试{
startActivityForResult(意图、请求代码、语音输入);
}捕获(ActivityNotFoundException a){
Toast.makeText(getApplicationContext(),
getString(不支持R.string.speech),
吐司。长度(短)。show();
}
}
/**
*接收语音输入
* */
@凌驾
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
开关(请求代码){
案例请求代码语音输入:{
if(resultCode==RESULT\u OK&&null!=数据){
ArrayList结果=数据
.getStringArrayListExtra(识别器意图.额外结果);
txtSpeechInput.setText(result.get(0));
}
打破
}
}
}

android中有一个可用的识别器Intent

第1步:启动ReconfizerIntent首先,我们需要通过设置必要的标志来创建ReconfizerIntent,如ACTION_Reconficate_SPEECH–只需将用户的语音输入返回到相同的活动语言_MODEL_FREE_FORM–考虑以自由形式输入的英语EXTRA_PROMPT–在要求用户输入时向其显示的文本提示说

步骤2:一旦语音输入完成,接收语音响应,这个意图返回OnActuviyREST中的所有可能结果。通常,我们可以认为第一个结果是最准确的,并采取可能的行动,无论我们需要做什么。 请参考以下代码片段和链接以获得完整的参考

链接:

/**
*显示谷歌语音输入对话框
* */
私有无效promptSpeechInput(){
意向意向=新意向(识别意向、行动、识别言语);
intent.putExtra(识别器intent.EXTRA_语言_模型,
识别者意图、语言、模型、自由形式);
intent.putExtra(RecognizerIntent.EXTRA_语言,Locale.getDefault());
intent.putExtra(识别器intent.EXTRA\u提示符,
getString(R.string.speech_提示符);
试一试{
startActivityForResult(意图、请求代码、语音输入);
}捕获(ActivityNotFoundException a){
Toast.makeText(getApplicationContext(),
getString(不支持R.string.speech),
吐司。长度(短)。show();
}
}
/**
*接收语音输入
* */
@凌驾
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
开关(请求代码){
案例请求代码语音输入:{
if(resultCode==RESULT\u OK&&null!=数据){
ArrayList结果=数据
.getStringArrayListExtra(识别器意图.额外结果);
txtSpeechInput.setText(result.get(0));
}
打破
}
}
}
/**
* Showing google speech input dialog
* */
private void promptSpeechInput() {
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.getDefault());
intent.putExtra(RecognizerIntent.EXTRA_PROMPT,
    getString(R.string.speech_prompt));
try {
startActivityForResult(intent, REQ_CODE_SPEECH_INPUT);
} catch (ActivityNotFoundException a) {
Toast.makeText(getApplicationContext(),
        getString(R.string.speech_not_supported),
        Toast.LENGTH_SHORT).show();
}
}
/**
* Receiving speech input
* */
@Override
protected void onActivityResult(int requestCode, int resultCode, 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);
        txtSpeechInput.setText(result.get(0));
    }
    break;
}
}
}