C# windows RT/Universal应用程序,文本到语音“;另存为Mp3“;

C# windows RT/Universal应用程序,文本到语音“;另存为Mp3“;,c#,windows,windows-phone-8,text-to-speech,win-universal-app,C#,Windows,Windows Phone 8,Text To Speech,Win Universal App,我正试着在一个通用应用程序上做一个演讲,但有一件事卡住了。我浏览了整个互联网,没有找到一个合适的解决方案。。所以我来到这里。。基本上,我希望应用程序将文本框中的内容保存为mp3。以下是我目前的代码: private void Speak_Click(object sender, RoutedEventArgs e) { SpeakText(Text.Text); } public async void SpeakText(string TTS)

我正试着在一个通用应用程序上做一个演讲,但有一件事卡住了。我浏览了整个互联网,没有找到一个合适的解决方案。。所以我来到这里。。基本上,我希望应用程序将文本框中的内容保存为mp3。以下是我目前的代码:

 private void Speak_Click(object sender, RoutedEventArgs e)
    {
        SpeakText(Text.Text);
    }
    public async void SpeakText(string TTS)
            {
                SpeechSynthesizer ttssynthesizer = new SpeechSynthesizer();

                //Set the Voice/Speaker
                using (var Speaker = new SpeechSynthesizer())
                {
                    Speaker.Voice = (SpeechSynthesizer.AllVoices.First(x => x.Gender == VoiceGender.Female));

                    ttssynthesizer.Voice = Speaker.Voice;
                }

                SpeechSynthesisStream ttsStream = await ttssynthesizer.SynthesizeTextToStreamAsync(TTS);

                //play the speech
                MediaElement media = new MediaElement();
                media.SetSource(ttsStream, " ");
            }

我认为您可以将
SpeechSynthesisStream
保存为一个.wav文件。然后,您可以使用
MediaTranscoder
类将其重新编码为任何您喜欢的内容



将流保存到wav文件的一些额外帮助:

如何将SpeechSynthesStrem保存为.wav文件?对不起,我是新手stuff@ProgrammingPotato查看链接的CPP文件,它是在事件处理程序>代码> BTNVaseToFielsKys< /Calp>中。谢谢,但我正在寻找C代码,而不是C++。在我进一步了解编程之前,我将一直保留它。@ProgrammingPotato它使用相同的函数。它几乎可以转换成1:1。只要忽略
^
,您就会意识到
Windows::Storage::Streams::Buffer
Windows.Storage.Streams.Buffer
@ProgrammingPotato是一样的垃圾,或者您可以搜索如何将缓冲区写入文件。可以肯定有很多答案。