AWS Polly集成SDK

时间:2016-12-02 00:01:10

标签: .net amazon-web-services amazon-polly

我刚刚看到关于Amazon Polly text-to-speech service的公告。我能够在AWS控制台中访问该服务,但我找不到任何集成点。控制台中没有任何链接可以访问API / SDK。

v3 documentation for the AWS .NET SDK不包括Polly的文档。

是否有适用于.NET的SDK,适用于Amazon Polly?

1 个答案:

答案 0 :(得分:6)

你检查了这个link吗? 目前,在Amazon Polly开发人员指南(pdf / html)中,您可以找到python,android,iOS的示例。安装SDK后,您可以找到包含要使用Polly的所有类的C:\Program Files (x86)\AWS SDK for .NET\bin\Net45\AWSSDK.Polly.dll

以下是我刚玩过的一个简单示例:

    public static void Main(string[] args)
    {

        AmazonPollyClient client = new AmazonPollyClient();

        // Create describe voices request.
        DescribeVoicesRequest describeVoicesRequest = new DescribeVoicesRequest();
        // Synchronously ask Amazon Polly to describe available TTS voices.
        DescribeVoicesResponse describeVoicesResult = client.DescribeVoices(describeVoicesRequest);
        List<Voice> voices = describeVoicesResult.Voices;


        // Create speech synthesis request.
        SynthesizeSpeechRequest synthesizeSpeechPresignRequest = new SynthesizeSpeechRequest();
        // Text
        synthesizeSpeechPresignRequest.Text = "Hello world!";
        // Select voice for synthesis.
        synthesizeSpeechPresignRequest.VoiceId = voices[0].Id;
        // Set format to MP3.
        synthesizeSpeechPresignRequest.OutputFormat = OutputFormat.Mp3;
        // Get the presigned URL for synthesized speech audio stream.
        var presignedSynthesizeSpeechUrl = client.SynthesizeSpeechAsync(synthesizeSpeechPresignRequest).GetAwaiter().GetResult();
        using (FileStream output = File.OpenWrite("hello_world.mp3"))
        {
            presignedSynthesizeSpeechUrl.AudioStream.CopyTo(output);
        }

        Console.Read();
    }

它返回带有您指定文本的mp3编码音频文件。