我有这段代码:
if (activity.Type == ActivityTypes.Message)
{
var audioAttachment = activity.Attachments?.FirstOrDefault(a => a.ContentType.Equals("audio/wav") || a.ContentType.Equals("application/octet-stream"));
if (audioAttachment != null)
{
var connector = new ConnectorClient(new Uri(activity.ServiceUrl));
var stream = await GetAudioStream(connector, audioAttachment);
var text = await this.speechService.GetTextFromAudioAsync(stream);
Activity reply = activity.CreateReply(text);
await connector.Conversations.ReplyToActivityAsync(reply);
}
else
{
await Conversation.SendAsync(activity, () => new Dialogs.RootDialog());
}
}
else
{
HandleSystemMessage(activity);
}
var response = Request.CreateResponse(HttpStatusCode.OK);
return response;
当我输入内容时,检查是否是音频文件或文本,以及是否将音频发送到Bing Speech以便从音频文件中获取文本。
我在Bot Framework模拟器上进行了测试并且正在运行,但是当我尝试从网络聊天上传文件时,它说无法发送也发现此错误 - 将此消息发送到您的机器人时出错:HTTP状态代码GatewayTimeout
我想在skype上部署这个机器人并上传音频文件或使用微博并从中获取文本。
答案 0 :(得分:0)
似乎错误是因为我试图上传大于15秒的文件。 我将相应的文件切换为10秒序列,现在我按预期工作。
- 我仍然不知道为什么机器人框架接受更大的文件,似乎在发送文件停止的一半时间然后在几秒钟之后它重新开始停止发送 -