11

Android 4.1 では、キーボードのマイク オプションを使用して、リアルタイムで音声をテキストに変換できます。

アプリケーションのテキストにリアルタイムの音声を実装する方法を見つけようとして、 android.speechのドキュメントを見てきました。ただし、これを容易にする唯一のオプションは「EXTRA_PARTIAL_RESULTS」オプションです(使用しようとするたびにサーバーが無視します)。

コード:

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
        RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, "VoiceIME");
intent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true);
intent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS, 3000L);

mSpeaker.startListening(intent);

部分的な結果を返しません。

キーボード バージョンでは一貫して実行されるため、これが可能であることはわかっています。誰でも方法を知っていますか?

4

3 に答える 3

4

呼び出す前に、 -callbackstartListeningを登録する必要があります。onPartialResults注意すべき 2 つの重要な点:

  • が呼び出されるバンドルの構造はonPartialResults、Android API によって指定されていません。
  • すべての音声認識エンジンがこのコールバックをサポートしているわけではありません。

したがって、コードは Google 音声検索に固有のものになります。

mSpeaker.setRecognitionListener(new RecognitionListener() {
  ...
  public void onPartialResults(Bundle partialResults) {
    // WARNING: The following is specific to Google Voice Search
    String[] results = 
      partialResults.getStringArray("com.google.android.voicesearch.UNSUPPORTED_PARTIAL_RESULTS");
    updateTheUi(results);
  }
  ...
}

オープン ソース アプリでこのコールバックの動作を確認するには、Babble を参照してください。

于 2012-12-24T12:05:13.520 に答える
0

マイクがオンのときにリアルタイムの部分的な結果を表示したい場合、スピーカーが話しているときに、「マイクの前の選択と組み合わせた単純な android テキスト ボックスを優先して、recognizerIntent を使用するアプローチをドロップし、認識サービスをドロップすることをお勧めします。 Android の「メモ」サンプル アプリで実行できるようなアイコン...

./samples/android-16/NotePad/tests/src/com/example/android/notepad を参照してください

このコンボは、「部分的な」コールバックに関して「レコグナイザー」とは多少異なる、サーバー側の「voiceSearch」から返される部分的な音声合成の結果をリアルタイムで見るような機能を提供します。

多数のコメントが、recognirIntent が「onPartialResults」へのコールバックを起動しないと述べています。何らかの理由で、android 4.2 は、javascript を使用して正常に動作する「連続的な」speechRecognition モードをサポートしていないようです。4.2 での「RecognitionListener」インターフェイスのテストでは、ボリューム イベントで「onRmsChanged」への数百のコールバックが表示されますが、「partialResult」イベントでのアクティビティはゼロです。どこかで、このコールバックが失われますか??

js ソリューションの場合は、chrome-beta リリース 25 をインストールして、こちらにアクセスしてください

アンドロイドのメモアプリを使用。サンプルを作成し、キーボードからマイク アイコンを事前に選択すると、上記の JS webapp リンクとまったく同じことができます。

于 2013-02-19T15:57:54.057 に答える