Я создал чат-бота, используя botframework и Azure.Я хочу иметь возможность общаться с ботом с помощью cortana, поэтому я подключил бота к каналу cortana в Azure.Это работает, и я могу вызвать навык и отправлять текстовые сообщения.В тестовых целях бот может получать сообщения и отправляет пользователю только предварительно определенное сообщение.
Согласно это я должен иметь возможность отправлять голосовое сообщение обратно пользователю, просто установив свойство Speak сообщения.Я пробовал это с простым текстом и с SSML:
/** BotFramework SDK v3 **/
var message = context.MakeMessage();
message.Speak = "Hello";
await context.PostAsync(msg);
/** BotFramework SDK v4 **/
var msg = turnContext.Activity.CreateReply();
msg.Speak = "Hello";
await turnContext.SendActivityAsync(msg);
Оба варианта не работают.Когда я вызываю навык и что-то набираю, я не получаю аудиовыход, но вывод текста.
Установка свойства Speak для строки SSML также не работает:
<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis' xml:lang='en-US'><voice languages='en-US' gender='female'>Hello</voice></speak>
I 'м из германии.Я знаю, что сторонние навыки поддерживаются только в США.Я установил свой регион и язык для США, чтобы можно было использовать этот навык.
Что-то не так с ботом?
Должен ли я использовать систему преобразования текста в речь, подобную системе MS CognitiveServices?
Заранее спасибо.