ピック、レフト、ライト、ストップの機能を持つシンプルなゲームを作りたいです。
私の問題は、Androidの音声テキスト機能を使用して、ゲームのこれらの機能を音声認識にしたいということです。IDE として Eclipse を使用しています。それをアプリケーションと統合する方法を知りたいです。
サンプルをいただければ大変助かります。
ピック、レフト、ライト、ストップの機能を持つシンプルなゲームを作りたいです。
私の問題は、Androidの音声テキスト機能を使用して、ゲームのこれらの機能を音声認識にしたいということです。IDE として Eclipse を使用しています。それをアプリケーションと統合する方法を知りたいです。
サンプルをいただければ大変助かります。
Intent i = new Intent(
RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
i.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
i.putExtra(RecognizerIntent.EXTRA_PROMPT, "Say the command!");
startActivityForResult(i, 10);
次に、アクティビティの結果を追加します。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 10 && resultCode == RESULT_OK) {
ArrayList<String> s = data
.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
//Do whatever you want with the data here.
super.onActivityResult(requestCode, resultCode, data);
}
さて、あなたは2つのことが必要です。
バックグラウンドで音声認識エンジンを実行して、ゲームの邪魔になる迷惑なダイアログが表示されないようにします
ターゲット単語を確実に認識
#1の場合。SpeechRecognizerと、これを使用するものなど、それを実行するためのループが必要になるか、ダイアログ バージョンを使用できると思います。どちらの方法でも、この抽象クラスを使用して開始し、有利なスタートを切ることができます。
#2については、いくつかのテストを行う必要があります。Android Sensor Playgroundアプリをダウンロードして、認識エンジンがあなたの言葉を確実に認識できるかどうかを確認してください。それが正しい場合は、シンプルを使用してSting<Set>
認識結果を一致させてください。(または、この便利なクラスを使用することもできます) 認識エンジンが特定の単語で問題を引き起こしている場合は、ステミングまたは音声マッチングが必要です。このクラスを参照してください。