gpt4 book ai didi

Android ACTION_RECOGNIZE_SPEECH Intent 在长时间讲话后永远不会完成

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:41:47 24 4
gpt4 key购买 nike

我开始打算并等待结果。它在简短的演讲中效果很好,但如果演讲太长,它不会给我答案。 (将近 1 分钟)

final Intent searchIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);

searchIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "tr");
searchIntent.putExtra(RecognizerIntent.EXTRA_PROMPT, true);
searchIntent.putExtra(RecognizerIntent.EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE, true);

startActivityForResult(searchIntent, VOICE_REQUEST_CODE);

除了 SpeechRecognizer 之外,还有其他方法可以从 ACTION_RECOGNIZE_SPEECH Intent 中获取结果吗?

最佳答案

这是一个可行的解决方案:

final Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, yourPackageHere);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 1000);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "en-US");
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Your Prompt");
startActivityForResult(intent,REQUEST_CODE);

但在使用此功能之前,您应该检查用户是否授予了 RECORD_AUDIO权限和设备有 ACTION_RECOGNIZE_SPEECH可用。

Recognise Speech 对于长语音有一个有趣的行为。如果给MAX_RESULTS一个小数字长时间演讲后识别语音屏幕卡住。所以你需要保持数字更大,你会在 onActivityResult 中得到结果与 List<String> results从识别语音 Intent 。您可以通过循环获得结果,而不是使用。

关于Android ACTION_RECOGNIZE_SPEECH Intent 在长时间讲话后永远不会完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41124290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com