カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

音声認識 RecognizerIntent

この記事は最終更新日から1年以上経過しています。

簡単な音声認識を使用する

private static final int REQCODE = 1234;

private void voiceRecognize() {
    try {
        // インテントを作成
        Intent intent = new Intent(
                RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
        // ウェブサーチを使う場合は
        // ACTION_WEB_SEARCH

        intent.putExtra(
                RecognizerIntent.EXTRA_LANGUAGE_MODEL,
                RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
        intent.putExtra(
                RecognizerIntent.EXTRA_PROMPT,
                "音声認識テスト");

        // アクティビティの呼び出し
        startActivityForResult(intent, REQUEST_CODE);

    } catch (ActivityNotFoundException e) {
        // 音声認識に対応していない場合
        Toast.makeText(this,
                "音声認識に対応していません",
                Toast.LENGTH_LONG).show();
    }
}

// 呼び出したアクティビティから戻ってきた時に呼び出される
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // 自アプリから発行したインテントなら応答
    if (requestCode == REQCODE && resultCode == RESULT_OK) {
        String rstString = "";

        // 結果文字列リストを取得
        ArrayList<String> rst = data.getStringArrayListExtra(
                RecognizerIntent.EXTRA_RESULTS);

        // 候補の文字列を全て取り出し
        for (int i = 0; i < rst.size(); i++) {
            rstString += rst.get(i);
        }

        // 文字列を表示
        Toast.makeText(this, rstString, Toast.LENGTH_LONG).show();
    }

    super.onActivityResult(requestCode, resultCode, data);
}
この記事がお役に立ちましたらシェアお願いします
2,855 views

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です