2017-11-14 15 views
0

이 코드를 가지고 :봇 프레임 워크 에뮬레이터 VS 웹 채팅

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; 

때 오디오 파일이나 텍스트가 음성 인 경우는 오디오에서 텍스트를 얻기 위해 빙 음성 전송 경우 확인 내가 입력 뭔가 파일.

봇 프레임 워크 에뮬레이터에서 테스트 한 결과 작동하지만 웹 채팅에서 파일을 업로드하려고 할 때도이 오류가 발생했습니다. -이 메시지를 봇에 보내심 오류가 발생했습니다 : HTTP 상태 코드 GatewayTimeout

이 봇을 스카이프에 배포하고 오디오 파일을 업로드하거나 마이크로 폰을 사용하여 텍스트 형식을 만들고 싶습니다.

+0

재생하는데 어떤 파일 형식을 보내고 있습니까? .wav, .mp3 등? – JasonSowers

+0

@JasonSowers .wav – ATudor

+0

잘못된 키로 인해 발생할 수 있다고 생각했지만, 봇 에뮬레이터가 작동하는 한 배포 할 때 변경 사항이있을 경우를 제외하고는 배포해야하는 경우에도 작동해야합니다. 내가 배포하지 디버그로 배포 – ATudor

답변

0

15 초보다 큰 파일을 업로드하려고했기 때문에 오류가있는 것 같습니다. 각 파일을 10 초 시퀀스로 자르고 이제 의도 한대로 작동합니다.

- 나는 아직도 봇 프레임 워크가 큰 파일을 받아 들일 이유를 알고하지 않습니다, 파일 정지를 보내는 절반 방법에서처럼 보인다 후 몇 초 후에는 멈출 곳에서 보내는 탈환 -

+0

우리가 제어 할 수없는 채널 자체 (스카이 프, 페이 스북, 등)에 의해 설정된 파일 크기 제한이 있습니다. 귀하의 경우 15 초 이상 걸리면 15 초의 시간 초과가 발생했습니다. 행운을 빈다, 고맙다. – JasonSowers