Androidで音声認識するには
android.speechパッケージの
RecognizerIntentクラスを使用します
まずは
RecognizerIntent.ACTION_RECOGNIZE_SPEECH
を使い、intent作成
具体的には
Intent intent=new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intentには
putExtra()で追加情報の指定ができるので
これを使用
言語モデルは
EXTRA_LANGUAGE_MODEL
アイコンと一緒に表示する文字は
EXTRA_PROMPT
EXTRA_MAX_RESULT
は返す値の数
これを指定しないと
複数の候補が出てくる
例えば
きょうのりょうり
と音声なら
今日の料理
京の料理
というかんじになるので
これを防止するために使う
アクティビティに結果を返す
つまり、音声認識したのをトースト表示したり
Web検索に適用するなら
startActivityForResult()
でインテントを発行する
アクティビティ作成したときに
private static final int REQUEST_CODE=0;
としておけば
startActivityForResult(intent,RESULT_CODE);
というように
どのアクティビティからの結果かを判断できる
ちなみに、音声認識は実機検証でないとできないので
もし、エミュレータで起動確認だけしたいなら
try~catch文で例外処理すること
音声認識は解析できないなら該当なし
と表示され
何も話さないと音声が聞こえませんと
表示される
このあたりは自動でやってくれるため
コードの実装しなくていいので
楽です