Тайм-аут захвата речи в Google Android - PullRequest
0 голосов
/ 18 июня 2019

Просто быстрый вопрос о встроенной функции захвата речи Google на большинстве устройств Android (не в облачном сервисе) - см. Прикрепленное изображение. Есть ли способ, программно или через настройки, контролировать, как долго он ждет, пока не попросит вас повторить попытку? Поля «полной тишины» в RecognizerIntent, похоже, не имеют никакого значения. На некоторых устройствах время ожидания очень быстрое, и у пользователя не хватает времени, чтобы начать говорить.

Это код в моем тестовом приложении:

 public void StartSpeechToText(ISpeechResultCallback callback)
    {

        string rec = global::Android.Content.PM.PackageManager.FeatureMicrophone;
        if (rec == "android.hardware.microphone")
        {
            MainActivity activity = MainActivity.CurrentActivity;
            activity.Callback = callback;

            var voiceIntent = new Intent(RecognizerIntent.ActionRecognizeSpeech);

            //var voiceIntent = new Intent(RecognizerIntent.ActionVoiceSearchHandsFree);

            voiceIntent.PutExtra(RecognizerIntent.ExtraLanguageModel, RecognizerIntent.LanguageModelFreeForm);

            voiceIntent.PutExtra(RecognizerIntent.ExtraPrompt, "Speak now");

            voiceIntent.PutExtra(RecognizerIntent.ExtraSpeechInputCompleteSilenceLengthMillis, 1500);
            voiceIntent.PutExtra(RecognizerIntent.ExtraSpeechInputPossiblyCompleteSilenceLengthMillis, 1500);
            voiceIntent.PutExtra(RecognizerIntent.ExtraSpeechInputMinimumLengthMillis, 15000);
            voiceIntent.PutExtra(RecognizerIntent.ExtraMaxResults, 1);
            voiceIntent.PutExtra(RecognizerIntent.ExtraLanguage, Java.Util.Locale.Default);

            activity.StartActivityForResult(voiceIntent, VOICE);


        }
    }

enter image description here

...