当前位置: 首页 > 知识库问答 >
问题:

Android语音识别离线只返回一个结果

宋鸿云
2023-03-14

我尝试离线使用Android的语音识别API,就像这个问题一样,Android离线语音识别只显示一个结果?。我在线时也会得到五个结果,离线时只会得到一个结果,我希望在任何一种情况下都能得到五个(ish)结果。这仅仅是Android内置语音识别引擎的一个限制,还是有一些隐藏的设置可以更改以强制生成多个结果?

这是我的意图设置:

        Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
        intent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS,5);          
        intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); //< have tried both FREE_FORM and WEB_SEARCH
        intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, getPackageName());
        intent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true);
        intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "en-US");
        mRecognizer.startListening(intent);

和我的onResults():

    @Override
    public void onResults(Bundle results) {

         // data.size() is 1, if running offline and generally 5, if online
         ArrayList<String> data = results.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION); 
         //...
    }

我正在运行Android 4.4.2。

共有1个答案

单昊穹
2023-03-14

尝试将MAX_RESULTS设置为5,10,20或其他值,看看是否有帮助。

 类似资料:
  • 我已经使用HTK(Hidden Markov Model Tool Kit)来识别用于控制Android应用程序的特定命令,但在这种情况下,我需要将一些语音数据传递给服务器,这可能会耗费更多时间。 为了防止这种延迟,我正在考虑使用pocketsphinx通过Android应用程序在本地识别语音数据,这样我就不需要将音频传递给服务器。 如果这是一个好主意,那么从头开始学习pocketsphinx容易

  • 我正在开发一个android应用程序,它将监听语音命令并相应地触发动作。 以下是一些疑问: > 谷歌语音识别离线库是否可用于android应用程序 我们能创建自己的词汇词典吗 应用程序应在脱机模式下工作(无Internet)。

  • 我想在我的应用程序中使用语音识别。从android jellybean开始,我知道android系统支持离线语音识别(听写?)! 到目前为止,我只能使用内置键盘的离线识别来键入一些东西,即按下键盘上的麦克风按钮然后说话,但这种用途有限,因为用户每次都需要按下按钮并且需要一个文本字段 我希望能够使用语音识别在程序需要时开始收听,并在识别完成后调用一些回调函数。谷歌的在线语音识别确实可以做到这一点,但

  • 在飞行模式下,按下按钮,一个声音退出输入屏幕,输入出现的声音请重新输入,上周可以正常使用,谷歌很长时间找不到解决方案,希望帮助离线谷歌语音已经设置好 公共void onclick1(视图v) { } 受保护的void onActivityResult(int requestCode、int resultCode、Intent data){ }

  • 我正在尝试从shell命令使用Google的语音识别API,但我遇到了问题。 我的Shell文件包含以下代码: 记录-D plughw: 1,0-q-f cd-t wav-R 16000|flac-f--Best--samplughw=16000-s-otest.flac wget-q-U“Mozilla/5.0”--文件后测试。flac--标题“内容类型:音频/x-flac;速率=16000”-

  • 我做了很多研究,并尝试了离线pocket sphinx,但它接收了周围的声音,对我的应用程序做出了不同的反应。以上kitkat 4.4是否有谷歌离线应用程序。。我从两周后就开始尝试了。感谢您宝贵的回答。 详细信息:当活动开始时,第一个文本必须在完成后读取内容(文本到语音),读取语音识别必须根据命令例如:(下一步、上一步、前进、选项、1、2、3、4等)进行语音和语音识别。根据命令,它必须在on结果方