/// <summary> /// Trata um objeto validateEndOfSpeech vindo do servidor /// </summary> /// <param name="arrValue"></param> private void ValidateEndOfSpeech(string[] arrValue) { try { System.Diagnostics.Debug.WriteLine("Parou de receber audio"); //É necessário chamar este item, para validar as informações que chegou OfSpeech objOfSpeech = PrepareOfSpeech(arrValue); SendOnEndOfSpeak(); } catch (Exception) { SendOnError("Incompatible ASR server state", "4024"); } }
/// <summary> /// Converte o array fornecido em um objeto to Tipo OfSpeech(start ou end), que é um dos tipos possíveis de reposta do servidor descrita pelo Protocolo /// </summary> /// <param name="arrValues"></param> /// <returns></returns> private OfSpeech PrepareOfSpeech(string[] arrValues) { var objOfSpeech = new OfSpeech(); foreach (string value in arrValues) { if (value.IndexOf("Handle: ") != -1) { objOfSpeech.Handle = value.Replace("Handle: ", ""); } if (value.IndexOf("Session-Status: ") != -1) { objOfSpeech.SessionStatus = value.Replace("Session-Status: ", "").ToEnum <SESSION_STATUS>(); } } ; return(objOfSpeech); }