public async static Task <List <PollyVoiceDTO> > GetVoiceList(IAmazonPolly pollyClient, string languageCode) { List <PollyVoiceDTO> result = new List <PollyVoiceDTO>(); DescribeVoicesRequest describeVoicesRequest = new DescribeVoicesRequest() { LanguageCode = languageCode }; String nextToken; do { DescribeVoicesResponse describeVoicesResponse = await pollyClient.DescribeVoicesAsync(describeVoicesRequest); nextToken = describeVoicesResponse.NextToken; describeVoicesRequest.NextToken = nextToken; //Console.WriteLine(languageCode + " Voices: "); foreach (var voice in describeVoicesResponse.Voices) { // Console.WriteLine(" Name: {0}, Gender: {1}, LanguageName: {2}", voice.Name, voice.Gender, voice.LanguageName); result.Add(new PollyVoiceDTO() { voice_name = voice.Name, gender = voice.Gender }); } ; } while (nextToken != null); return(result); }
public async static Task <List <PollyLanguageDTO> > GetLanguageList(IAmazonPolly pollyClient) { List <PollyLanguageDTO> result = new List <PollyLanguageDTO>(); Dictionary <string, string> dicLanguages = new Dictionary <string, string>(); DescribeVoicesRequest describeVoicesRequest = new DescribeVoicesRequest(); String nextToken; do { DescribeVoicesResponse describeVoicesResponse = await pollyClient.DescribeVoicesAsync(describeVoicesRequest); nextToken = describeVoicesResponse.NextToken; describeVoicesRequest.NextToken = nextToken; foreach (var voice in describeVoicesResponse.Voices) { // Console.WriteLine(" Name: {0}, Gender: {1}, LanguageName: {2}", voice.Name, voice.Gender, voice.LanguageName); if (dicLanguages.ContainsKey(voice.LanguageCode) == false) { string langaugeName = null; string[] words = voice.LanguageName.Split(' '); if (words.Length > 1) { langaugeName = words[1] + ", " + words[0]; } else { langaugeName = voice.LanguageName; } dicLanguages.Add(voice.LanguageCode, voice.LanguageName); result.Add(new PollyLanguageDTO() { language_code = voice.LanguageCode, language_name = langaugeName }); } } ; } while (nextToken != null); result.Sort(delegate(PollyLanguageDTO x, PollyLanguageDTO y) { return(x.language_name.CompareTo(y.language_name)); }); return(result); }
private Amazon.Polly.Model.DescribeVoicesResponse CallAWSServiceOperation(IAmazonPolly client, Amazon.Polly.Model.DescribeVoicesRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Polly", "DescribeVoices"); try { #if DESKTOP return(client.DescribeVoices(request)); #elif CORECLR return(client.DescribeVoicesAsync(request).GetAwaiter().GetResult()); #else #error "Unknown build edition" #endif } catch (AmazonServiceException exc) { var webException = exc.InnerException as System.Net.WebException; if (webException != null) { throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); } throw; } }