Member 13231064 Ответов: 1

Хотите голосовой ввод в текстовое поле, этот код делайте, но только один раз, (UWP C#)


Я попробовал использовать этот код
SpeechRecognitionResult speechRecognitionResult = await speechRecognizer.RecognizeAsync();
textBox1.Text = speechRecognitionResult.Text;

Но он обеспечивает выход только 1 раз, но я хочу, чтобы выход был непрерывным, пока я сам его не закрою. Пожалуйста, помогите мне, как я могу это сделать.

Я попробовал этот метод, но он ничего не дал.
await speechRecognizer.CompileConstraintsAsync();


            speechRecognizer.ContinuousRecognitionSession.ResultGenerated +=
                async (s, e1) =>
                {
                    if ((e1.Result != null))
                    {
                        await this.Dispatcher.RunAsync(CoreDispatcherPriority.Low,
                            () =>
                        {
                                var result = e1.Result.Text;
                            textBox1.Text = result;
                        });
                        speechRecognizer.ContinuousRecognitionSession.Resume();
                    }

                };
            await speechRecognizer.ContinuousRecognitionSession.StartAsync(SpeechContinuousRecognitionMode.PauseOnRecognition);

пожалуйста,помогите, спасибо и обязательно ответьте. :)

Что я уже пробовал:

Я попробовал использовать этот код


SpeechRecognitionResult speechRecognitionResult = ожидание speechRecognizer.RecognizeAsync();
текстовое поле textbox1.Текст = speechRecognitionResult.Текст;


Но он обеспечивает выход только 1 раз, но я хочу, чтобы выход был непрерывным, пока я сам его не закрою. Пожалуйста, помогите мне, как я могу это сделать.

1 Ответов

Рейтинг:
0

Member 14977494

SpeechRecognitionEngine s = новый SpeechRecognitionEngine();
Грамматические слова = новый Диктантграммар();
s.LoadGrammar(слова);
пробовать
{
С. SetInputToDefaultAudioDevice();
Результат RecognitionResult = С. Признать();
richTextBox1.Text = результат.Текст;
}
поймать (исключение бывший)
{
Ящик для сообщений.Показать(напр.сообщение);
}
наконец
{
С. UnloadAllGrammars();
}


CHill60

Это также будет сделано только один раз и поэтому не является решением этого 3-летнего вопроса. Это хорошо, что вы хотите помочь, но, пожалуйста, внимательно прочитайте вопросы. Кроме того, узнайте, как форматировать свой код и всегда добавлять некоторые комментарии