android - 如何在android中实现语音命令识别?

标签 android voice-recognition voice-recording

您好,我想构建一个应用程序,让我的 Android 应用程序识别我的语音命令并执行特定任务。我进行了很多搜索,但没有找到任何有效的解决方案。请问如何实现?

最佳答案

您可以看看this question如果您想要离线语音识别:

但还有另一种解决方案:

您可以使用this app这是谷歌几年前制作的。 只需在您的设备中安装此应用程序,然后只需调用该应用程序即可:

private void startRecognizeSpeech() {

    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);

    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, "en-US");

    try {
        startActivityForResult(intent, RESULT_SPEECH);

    } catch (ActivityNotFoundException a) {
        Toast.makeText(
                getApplicationContext(),
                "Oops! First you must download \"Voice Search\" App from Store",
                Toast.LENGTH_SHORT).show();
    }
}

然后在 onActivityResult() 中执行以下操作:

@Override
// calls when voice recognition result received
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    switch (requestCode) {
    case RESULT_SPEECH: {
        if (resultCode == RESULT_OK && null != data) {
            // text is received form google
            ArrayList<String> text = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
 //you can find your result in text Arraylist  
        }
        break;
    }
 }
}

关于android - 如何在android中实现语音命令识别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28719318/

相关文章:

在 'onCreate' 方法中调用的 Android 语音识别 Activity 导致应用加载缓慢

android - 有人知道 Android 4.1+ 离线语音识别 API 文档吗?

java - 如何从桌面java使用Android语音识别库

android - Xamarin 会帮助将 win32 DLL 移植到 android 共享库吗?

适用于多种 NFC 类型的 Android Intent 过滤器

android - jniLibs 未在 gradle 中扩展

android - 如何使用语音命令绕过 android 主屏幕锁定来激活应用程序?请给我一些指导方针

android - 如何在 Android 中录制语音和录制通话?

android - 如何通过循环设置多个 onClick()?