gpt4 book ai didi

android - 如何从谷歌的 "Voice Actions"获取语音识别结果?

转载 作者:太空狗 更新时间:2023-10-29 15:21:05 27 4
gpt4 key购买 nike

尝试通过 RecognizerIntent.ACTION_WEB_SEARCH 在我的应用中使用 Google 的“语音操作”。根据文档,我应该能够通过 RecognizerIntent.EXTRA_RESULTS 获得语音识别结果。似乎下面代码中的 onActivityResult() 是在 startActivityForResult() 之后立即调用的,结果还不正常。谁能帮忙?谢谢!

int VOICE_ACTIONS_CODE = 1234 ;
Intent intent = new Intent(RecognizerIntent.ACTION_WEB_SEARCH) ;
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM) ;
startActivityForResult(intent, VOICE_ACTIONS_CODE) ;

. . .

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == VOICE_ACTIONS_CODE) {
if(resultCode == RESULT_OK) {
ArrayList<String> result = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS) ;
// The following should print speech recog. results
Log.w("Results from Voice Actions:", result.get(0)) ;
}
}
super.onActivityResult(requestCode, resultCode, data) ;
}

最佳答案

如果结果不是 RESULT_OK 是因为出于某种原因 Intent 没有顺利进行。您的应用程序 list 中是否有互联网连接和相应的权限?

如果没有,请尝试添加它们。

顺便说一句,如果你没有得到 RESULT_OK,你得到的 resultCode 的值是多少?

@@@@@@@@编辑@@@@@@@@

现在我完全理解你的问题了。

问题如下,根据 reference,您使用 RecognizerIntent.ACTION_WEB_SEARCH 操作启动 Intent,但它从不返回结果。 , 它应该。它在显示“Speak Now”对话框时调用onActivityResult,不可能返回任何语音识别结果。

然而,它会触发相应的 Action 。但我同意你的看法,这种行为与文档中描述的不一样。

对不起,我只能说这看起来像是 API 的实现错误。

关于android - 如何从谷歌的 "Voice Actions"获取语音识别结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7795599/

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