1

나는 텍스트 범용 앱으로 연설을하려고하지만 한 가지로 붙어있다. 나는 인터넷 곳곳을 둘러 보았고 적절한 해결책을 찾을 수 없었다. 그래서 나는 여기에왔다. 기본적으로 나는 앱이 mp3로 텍스트 상자에있는 것을 저장하기를 원한다.windows RT/Universal app, 음성으로 텍스트 "Save as 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, " "); 
      } 

답변

2

당신이 SpeechSynthesisStream처럼 .wav 파일을 저장할 수 있다고 생각 : 여기에 지금까지 내 코드입니다. 그런 다음 MediaTranscoder 클래스를 사용하여 원하는대로 다시 인코딩 할 수 있습니다.

MSDN: Media Transcoder

Sample Project using Media Transcoder -- use it as a refeence


WAV 파일에 스트림을 저장하는 일부 추가 지원 : 음주 .wav 파일로 SpeechSynthesStrem 저장 얼마나 SpeakText.xaml.cpp

+0

? 죄송합니다,이 물건을 처음 접하 셨습니다. – ProgrammingPotato

+0

@ProgrammingPotato 링크 된 cpp 파일을보십시오. 이벤트 핸들러'BtnSaveToFile_Click'에 있습니다. –

+0

감사하지만 C++이 아닌 C# 코드를 찾고있었습니다. 프로그래밍에 대해 더 알기 전까지는 그냥 그대로 두겠습니다. – ProgrammingPotato

관련 문제