1

を呼び出すことで、入力が完了したと見なす時間を増やすことができます。

intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS,5000);

ただし、Android音声認識アクティビティを開始した後、「キーワード」を受け取った後などに明示的に停止する方法はありますか.

4

3 に答える 3

2

@マイクは正しいです。

これは機能します:

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS, new Long(2000)); 

Long を指定しました。数値 ("2000") を入力すると、整数として解釈され、無効になります。

于 2011-07-10T21:32:34.653 に答える
0

RecognizerIntentインテントの代わりに、カスタム UI でSpeechRecognizerクラスを使用することで、これを行うことができます。SpeechRecognizerクラスには、ユーザーが「停止」ボタンを押したときに明示的に呼び出すことができるstopListening()メソッドがあります。

EXTRA_PARTIAL_RESULTSを使用して部分的な結果をリクエストし、 RecognitionListeneronPartialResultsコールバックで「停止キーワード」を検索し、検出されたときにstopListening()を試行する別の方法もあります。

于 2016-12-14T07:07:38.143 に答える