2013-06-24 3 views
6

ボタンをクリックすると、アンドロイドのキーボードが提供するようなアンドロイドのスピーチをテキストトランスレータにアクティブにするボタンを実装したいと考えています。具体的には、ユーザーがリアルタイムで何を言っているのかを記述するボタンがあり、それを単語(リアルタイム)でeditTextボックスに記録したいと思います。これを行う最善の方法は何でしょうか?ボタンでスピーチをテキストにする方法は?

おかげ

答えて

2

すでにあなたのApi demosVoice Recognitionサンプルをチェックしていない場合は、あなたが先に行くと、それをチェックする必要があります。それはあなたに頭のスタートを与える必要があります。デモは/android-sdk/samples/...フォルダにあります。インストールしていない場合は、how to install android api demo app into my phoneです。

あなたを助けるだけでなく(任意の他の多くの)チュートリアルが、次のされているが始まります。

1)Android Voice Recognition Tutorial

2)Android: Speech To Text using API

後は、良い読みにもあるかもしれない:

Add Text-To-Speech and Speech Recognition to Your Android ApplicationsおよびUsing the Android Speech Recognition APIs

これが役に立ちます。

+0

おかげで見つけることができ、私はそれらを見てみましょう。 –

+0

NICE! #2は完全に私のために働いた。おかしい、私たちのAndroidの電話機のキーボードにすでに音声で作動しているマイクのアイコンがあるからです。たとえば、キーボードのマイクアイコンをクリックすると、アプリケーションの 'EditText'をクリックすると、' EditText'にあなたの声を自動的に入力し始めます。コードは一切必要ありません!しかし、誰もがこれについて知っているわけではなく、文章でそれを説明することは、UIの小さな領域では厄介なものになるので、この方法はうまくいきます!ありがとう! – Azurespot

0

ACTION_RECOGNIZE_SPEECHアクションを使用してstartActivityForResult()に電話をかけます。これにより、音声認識が開始され、結果はonActivityResult()で処理されます。

private static final int SPEECH_REQUEST_CODE = 0; 

// Create an intent that can start the Speech Recognizer activity 
private void displaySpeechRecognizer() { 
    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, 
      RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
// Start the activity, the intent will be populated with the speech text 
    startActivityForResult(intent, SPEECH_REQUEST_CODE); 
} 

// This callback is invoked when the Speech Recognizer returns. 
// This is where you process the intent and extract the speech text from the intent. 
@Override 
protected void onActivityResult(int requestCode, int resultCode, 
     Intent data) { 
    if (requestCode == SPEECH_REQUEST_CODE && resultCode == RESULT_OK) { 
     List<String> results = data.getStringArrayListExtra(
       RecognizerIntent.EXTRA_RESULTS); 
     String spokenText = results.get(0); 
     // Do something with spokenText 
    } 
    super.onActivityResult(requestCode, resultCode, data); 
} 

詳細情報がreference

関連する問題