В настоящее время я создаю чат-бота, который должен принимать голосовые сообщения от пользователя. Однако использование диалоговых окон с водопадом для запроса ввода пользователя не содержит приглашения, которое принимает голос.
Я использую службы Azure Speech для распознавания речи, и мне было интересно, есть ли способ сделать это.
Я попытался преобразовать результат распознавания речи в строку и отправить его как пользовательский текстовый ввод, но я новичок в кодировании и чувствую, что сделал это неправильно. Это часть шага диалога с водопадом.
private async Task<DialogTurnResult> IntroStep(WaterfallStepContext stepContext, CancellationToken cancellationToken)
{
stepContext.Values[StudentInfo] = new BotData();
SpeechSynthesis.SubjectVoice();
var promptOptions = new PromptOptions { Prompt = MessageFactory.Text("Hello, how can i help you? \n" +
"Want to do a Quiz or ask me a Question") };
SpeechRecognition.HearUser(); // waits for user voice input
Model.Answer = (string)stepContext.Result;
return await stepContext.PromptAsync(nameof(TextPrompt), promptOptions, cancellationToken);
}