首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RecognizerIntent.ACTION_RECOGNIZE_SPEECH在新的安卓设备上不起作用

RecognizerIntent.ACTION_RECOGNIZE_SPEECH在新的安卓设备上不起作用
EN

Stack Overflow用户
提问于 2014-01-14 18:23:04
回答 3查看 2.9K关注 0票数 0

以下是我的语音识别代码,它在最新的设备上显示“识别器不存在”,tablets.Please帮助我解决这个问题。

代码语言:javascript
复制
public void startMyVoice()
{   
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);   
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, sayClose);   
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "en-US");

try 
{
    startActivityForResult(intent, RESULT_SPEECH);      
} 
catch (ActivityNotFoundException a) 
{                   
    Toast.makeText(getApplicationContext(), "Recogniser not present", Toast.LENGTH_SHORT).show();      
}

}
EN

回答 3

Stack Overflow用户

发布于 2014-01-14 18:27:48

来自:Speech To Text Recognizer not found

我不确定为什么识别器功能并非在所有设备上都可用。请确保您安装并更新了最新的Android语音搜索。我相信它安装了最新的识别器。请参阅http://www.google.com/mobile/voice-actions/,它可能会有所帮助。

正如但丁·江在将语音转换为文本时所说,根据这篇文章,谷歌语音搜索才是你真正需要的。

Android SDK可以轻松地将语音输入直接集成到您自己的应用程序中-只需从此示例应用程序中复制并粘贴即可开始使用。Android是一个开放的平台,所以你的应用程序可能会利用设备上注册接收RecognizerIntent的任何语音识别服务。谷歌的语音搜索应用程序预装在许多安卓设备上,它对RecognizerIntent的响应是显示“立即发言”对话框,并将音频流式传输到谷歌的服务器上--当用户点击搜索小工具上的麦克风按钮或语音键盘时,这些服务器就是谷歌的服务器。(您可以在设置➝Applications➝Manage applications中检查是否安装了语音搜索。)

票数 1
EN

Stack Overflow用户

发布于 2021-08-10 08:05:46

在你的AndroidManifest.xml文件中添加下面的代码,它就可以工作了。

代码语言:javascript
复制
<queries>
   <intent>
     <action
        android:name="android.speech.RecognitionService" />
   </intent>
 </queries>
票数 1
EN

Stack Overflow用户

发布于 2022-01-19 18:48:49

根据this文档:

当应用针对Android11(API30级)或更高版本时...要查看其他包,请使用<queries>元素声明您的应用程序需要更高的包可见性。

因此,如果您使用的是RecognizerIntent.ACTION_RECOGNIZE_SPEECH,那么您将需要在AndroidManifest.xml<application>标记之外声明相同的intent,如下所示:

代码语言:javascript
复制
<manifest>

    ...

    <queries>
        <intent>
            <action android:name="android.speech.action.RECOGNIZE_SPEECH" />
        </intent>
    </queries>
</manifest>

否则,pm.queryIntentActivities(new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);将始终返回一个空列表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21111054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档