2016-07-25 7 views
1

私は録音された声を持っています。インターネットを使わずに録音した声をテキストに変換する作業があります。androidのSpeech to text API

は、私はこれを達成することができますどのように、私は以下のように試してみました:

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, 
     RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Voice recognition Demo..."); 
startActivityForResult(intent, REQUEST_CODE); 

しかし、私は記録されたファイルを送信し、その結果としてのテキストを得るのですか、なっていません。

答えて

0

RecognizerIntentは、あなたに合っていない状況、インターネットに接続されたライブ音声入力のためのものです。

答えはhereですので、さらに役立つ場合があります。

1

アンドロイドには1つのRecognizerIntentがあります。

ステップ1:私たちは、このようなACTION_RECOGNIZE_SPEECHとして必要なフラグを設定することにより、RecognizerIntentを作成する必要がありRecognizerIntent初の開始は - だけで、ユーザの音声入力を受け取り、同じ活動LANGUAGE_MODEL_FREE_FORMにそれを返す - フリーフォーム英語EXTRA_PROMPTで入力を考慮します - に表示するテキストプロンプトをユーザー

ステップ2話をすることを求めるとき:あなたの音声入力が完了すると、音声応答を受信し、この意図は、我々が最も正確である第1の結果を考慮し、可能なアクションを取ることができ、通常OnActivityResult.Asにすべての可能な結果を​​返します私たちは何をする必要があります。

詳細については、次のコードスニペットとリンクを参照してください。

LINK:http://www.androidhive.info/2014/07/android-speech-to-text-tutorial/

/** 
* Showing google speech input dialog 
* */ 
private void promptSpeechInput() { 
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, 
    RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault()); 
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, 
    getString(R.string.speech_prompt)); 
try { 
startActivityForResult(intent, REQ_CODE_SPEECH_INPUT); 
} catch (ActivityNotFoundException a) { 
Toast.makeText(getApplicationContext(), 
     getString(R.string.speech_not_supported), 
     Toast.LENGTH_SHORT).show(); 
} 
} 
/** 
* Receiving speech input 
* */ 
@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
super.onActivityResult(requestCode, resultCode, data); 
switch (requestCode) { 
case REQ_CODE_SPEECH_INPUT: { 
    if (resultCode == RESULT_OK && null != data) { 
     ArrayList<String> result = data 
          .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); 
     txtSpeechInput.setText(result.get(0)); 
    } 
    break; 
} 
} 
} 
関連する問題