【问题标题】:How to add a Speech recognition button in my Android App?如何在我的 Android 应用程序中添加语音识别按钮?
【发布时间】:2018-11-05 10:43:06
【问题描述】:

我是一名 Java 开发人员。抱歉,我在 Android 上有 0 个想法。请多多包涵。

我正在考虑创建一个应用程序。要首先构建我的应用程序,我必须学习必须学习 android。为了获得动力,我正在尝试绘制应用程序,它应该是什么样子。我想过让我的应用程序解放双手,这意味着我想使用语音识别进行导航和执行所有任务。

现在我的问题是“有什么方法可以将 Google 的语音识别器作为自定义按钮添加到我的应用程序中?”所以它不会占用屏幕的一半,它只会在屏幕的末尾收听。我会将音频转换为文本文件,这样我就可以使用 API.AI 来做一些事情。

或者还有其他方法可以实现我的目标吗?

谷歌语音识别器也能在 iOS 上工作吗?

【问题讨论】:

标签: android speech-recognition


【解决方案1】:

您可以使用 android SpeechRecognizer。查看实现的链接:访问https://developer.android.com/reference/android/speech/SpeechRecognizer.html

我在我的一个项目中尝试了 SpecchRecognizer。

首先你必须像这样实现你的活动

public class MainActivity extends Activity implements RecognitionListener

然后在您的 OnClickListener 中执行以下代码。

SpeechRecognizer speech = SpeechRecognizer.createSpeechRecognizer(this);
                 speech.setRecognitionListener(this);
                 intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
                 intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
                         RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
                 intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "en-US");
                 intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, this.getPackageName());
                 speech.startListening(intent);

在 OnActivityResult 中可以得到结果。

ArrayList<String> result = data.getStringArrayListExtra(
RecognizerIntent.EXTRA_RESULTS);
textview.setText(result.get(0));

你也可以得到下面的实现。你可以在下面的覆盖方法中做任何你想做的事情。

@Override
public void onBeginningOfSpeech() {

}

@Override
public void onRmsChanged(float rmsdB) {

}

@Override
public void onBufferReceived(byte[] buffer) {

}

@Override
public void onEndOfSpeech() {

}

@Override
public void onError(int error) {

}
@Override
public void onReadyForSpeech(Bundle params) {

}

就是这样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多