private JsonObject[] RequestTTS(L2FVoice voice, string text) { using (var client = new HttpClient()) { client.Timeout = TimeSpan.FromSeconds(15); var values = new Dictionary <string, string>() { { "task", "echo" }, { "lang", voice.Culture }, { "v", voice.Name }, { "q", text } }; var content = new FormUrlEncodedContent(values); var response = client.PostAsync(TTS_URL, content).Result; if (!response.IsSuccessStatusCode) { throw new Exception("fail"); } var str = response.Content.ReadAsStringAsync().Result; var data = (JsonObject)JsonParser.Parse(str); var array = (JsonArray)data["ttsresults"]; if (array.Count == 0) { return(null); } return(array.Cast <JsonObject>().ToArray()); } }
private JsonObject[] RequestTTS(L2FVoice voice, string text) { using (var client = new HttpClient()) { client.Timeout = TimeSpan.FromSeconds(15); var values = new Dictionary<string, string>() { {"task", "echo"}, {"lang", voice.Culture}, {"v", voice.Name}, {"q", text} }; var content = new FormUrlEncodedContent(values); var response = client.PostAsync(TTS_URL, content).Result; if (!response.IsSuccessStatusCode) throw new Exception("fail"); var str = response.Content.ReadAsStringAsync().Result; var data = (JsonObject)JsonParser.Parse(str); var array = (JsonArray)data["ttsresults"]; if (array.Count == 0) return null; return array.Cast<JsonObject>().ToArray(); } //if (results.Length == 1) //{ // var r2 = results[0]; // r2["url"] = new JsonArray() { r2["url"] }; // return r2; //} //return results.Aggregate((j1, j2) => //{ // if(DELAY_BETWEEN_FRASES>0) // ((JsonArray)j1["phones"]).Add(new JsonString("@")); // ((JsonArray)j1["phones"]).AddRange((JsonArray)j2["phones"]); // if (DELAY_BETWEEN_FRASES > 0) // ((JsonArray)j1["times"]).Add(new JsonNumber(DELAY_BETWEEN_FRASES)); // ((JsonArray)j1["times"]).AddRange((JsonArray)j2["times"]); // var token = j1["url"]; // var a = token as JsonArray; // if (a == null) // { // a = new JsonArray {token}; // j1["url"] = a; // } // a.Add(j2["url"]); // return j1; //}); }