使用Cortana的Chatbot不说话

问题描述 投票:0回答:1

我使用botframework和Azure创建了一个聊天机器人。我希望能够使用cortana与机器人交谈,所以我将机器人连接到Azure中的cortana通道。这有效,我可以调用技能并发送短信。出于测试目的,机器人可以接收消息并且仅将预定义消息发送回用户。

根据this,我应该能够通过设置消息的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>

我来自德国。我知道仅在美国支持第三方技能。我将我的地区和语言设置为美国,以便能够使用该技能。

机器人有什么问题吗?

我是否必须使用像MS CognitiveServices那样的文字转语音系统?

提前致谢。

botframework cortana cortana-skills-kit
1个回答
0
投票

如上所述,如果用语音调用或查询,Cortana将以语音回应。这在文档上并不清楚(我们将解决这个问题)。但是,如果输入文本,您目前无法使用合成语音进行响应 - 我们假设以他们提出请求的形式响应用户。丰富的卡片例外。如果您单击一个按钮,并且之前的输入是通过语音进行的,则下一个响应将通过语音进行。

请将反馈作为功能请求提交。

© www.soinside.com 2019 - 2024. All rights reserved.