我有这样的代码:
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;当我输入一些东西,它检查是否是音频文件或文本,如果是音频,它发送到必应语音,以获得文本的音频文件。
我在Bot仿真器上测试了它,并且正在工作,但是当我试图从网络聊天上传一个文件时,它说无法发送,我也收到了这个错误--向你的bot发送这条消息时出错了: HTTP状态代码GatewayTimeout
我想把这个机器人部署在skype上,上传音频文件或使用microfon,并从中获取文本。
发布于 2017-11-15 08:50:48
似乎这个错误是因为我试图上传超过15秒的文件。我将相应的文件剪切成10秒的序列,现在我按预期工作。
-我还是不知道为什么bot框架会接受更大的文件,就像在发送文件的一半时间里,然后几秒钟后它就会从它停止的地方重新发送-
https://stackoverflow.com/questions/47288583
复制相似问题