当前位置: 首页>>代码示例>>C#>>正文


C# SpeechSynthesizer.SynthesizeTextToStreamAsync方法代码示例

本文整理汇总了C#中SpeechSynthesizer.SynthesizeTextToStreamAsync方法的典型用法代码示例。如果您正苦于以下问题:C# SpeechSynthesizer.SynthesizeTextToStreamAsync方法的具体用法?C# SpeechSynthesizer.SynthesizeTextToStreamAsync怎么用?C# SpeechSynthesizer.SynthesizeTextToStreamAsync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SpeechSynthesizer的用法示例。


在下文中一共展示了SpeechSynthesizer.SynthesizeTextToStreamAsync方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: SpeakText

 private async void SpeakText(object sender, RoutedEventArgs e)
 {
   string dialogText = null;
   try
   {
     var voice = this.VoiceComboBox.SelectedItem as VoiceInformation;
     if (voice != null)
     {
       var text = this.InputText.Text;
       if (!string.IsNullOrWhiteSpace(text))
       {
         var synthesizer = new SpeechSynthesizer();
         synthesizer.Voice = voice;
         var audioStream = await synthesizer.SynthesizeTextToStreamAsync(text);
         if (audioStream != null)
         {
           this.MediaPlayer.SetSource(audioStream, audioStream.ContentType);
           this.MediaPlayer.Play();
         }
         else
         {
           dialogText = "Can't synthesize the text";
         }
       }
     }
     return;
   }
   catch (Exception ex)
   {
     dialogText = "Error playing audio: " + ex.Message;
   }
   if (!string.IsNullOrWhiteSpace(dialogText))
     await new Windows.UI.Popups.MessageDialog(dialogText).ShowAsync();
 }
开发者ID:rockfordlhotka,项目名称:SpeechDemo,代码行数:34,代码来源:MainPage.xaml.cs

示例2: StartTextToSpeech

        static public async Task StartTextToSpeech(string text)
        {
            if (!string.IsNullOrEmpty(text))
            {
                try
                {
                    if (_speech != null)
                    {
                        StopTextToSpeech();
                    }

                    var voice = GetSpeechVoice();
                    if (voice != null)
                    {
                        _speech = new SpeechSynthesizer();
                        _speech.Voice = voice;

                        SpeechSynthesisStream speechStream = await _speech.SynthesizeTextToStreamAsync(Utility.DecodeHtml(text));
                        _soundPlayer = new MediaElement();
                        _soundPlayer.SetSource(speechStream, speechStream.ContentType);
                        _soundPlayer.Play();
                    }
                }
                catch (Exception ex)
                {
                    AppLogs.WriteError("SpeechServices", ex);
                }
            }
        }
开发者ID:JerelStarks,项目名称:Thiroshiga,代码行数:29,代码来源:SpeechServices.cs

示例3: _speak_Click

        private async void _speak_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
        {
            _speak.IsEnabled = false;

            // 
            // Get selected voice
            // 
            var selectedVoice = (VoiceInformation)_availableVoices.SelectedItem;

            // 
            // Create synthesizer & speak
            // 
            SpeechSynthesizer synth = new SpeechSynthesizer();
            synth.Voice = selectedVoice;
            var stream = await synth.SynthesizeTextToStreamAsync(_textToSpeak.Text);

            // 
            // Set mediaelement source to generated stream
            //
            _mediaElement.Stop();
            _mediaElement.SetSource(stream, stream.ContentType);
            _mediaElement.Play();

            _speak.IsEnabled = true;
        }
开发者ID:MicrosoftDXGermany,项目名称:more-personal-computing,代码行数:25,代码来源:SpeechSynthesisPage.xaml.cs

示例4: Speak

        private async void Speak(string text)
        {
            synthesizer = new SpeechSynthesizer();

            speechContext = ResourceContext.GetForCurrentView();
            speechContext.Languages = new string[] { SpeechSynthesizer.DefaultVoice.Language };

            speechResourceMap = ResourceManager.Current.MainResourceMap.GetSubtree("LocalizationTTSResources");
            // If the media is playing, the user has pressed the button to stop the playback.
            if (media.CurrentState.Equals(MediaElementState.Playing))
            {
                media.Stop();
            }
            else
            {
                try
                {
                    SpeechSynthesisStream synthesisStream = await synthesizer.SynthesizeTextToStreamAsync(text);
                    media.AutoPlay = true;
                    media.SetSource(synthesisStream, synthesisStream.ContentType);
                    media.Play();
                }
                catch (Exception)
                {
                }
            }
        }
开发者ID:liliankasem,项目名称:ProjectSpike,代码行数:27,代码来源:MainPage.Speech.xaml.cs

示例5: MediaElement

 MediaElement mediaElement = new MediaElement(); // Pamięć jest przydzielana tylko raz, dynamicznie
 async void speakString(string text)
 {
     var synth = new SpeechSynthesizer();
     SpeechSynthesisStream stream = await synth.SynthesizeTextToStreamAsync(text);
     mediaElement.SetSource(stream, stream.ContentType);
     mediaElement.Play();
 }
开发者ID:Madpixel6,项目名称:Niewidomy,代码行数:8,代码来源:SpeechFunctions1.cs

示例6: Speak

        public async void Speak(string text)
        {
            var mediaElement = new MediaElement();
            var synth = new SpeechSynthesizer();
            var stream = await synth.SynthesizeTextToStreamAsync(text);

            mediaElement.SetSource(stream, stream.ContentType);
            mediaElement.Play();
        }
开发者ID:berlamont,项目名称:xamarin-forms-samples,代码行数:9,代码来源:TextToSpeech.cs

示例7: SpeakText

        private async void SpeakText(MediaElement audioPlayer, string textToSpeak)
        {

            using (SpeechSynthesizer synthesizer = new SpeechSynthesizer())
            {
                SpeechSynthesisStream ttsStream = await synthesizer.SynthesizeTextToStreamAsync(textToSpeak);
                audioPlayer.SetSource(ttsStream, ""); // This starts the player because AutoPlay="True"

            }
        }
开发者ID:ernestoguimaraes,项目名称:cortana,代码行数:10,代码来源:MainPage.xaml.cs

示例8: Speak

 public async void Speak(MediaElement audioPlayer, SpeechMessage speech)
 {
     var synth = new SpeechSynthesizer();
     var ttsStream = await synth.SynthesizeTextToStreamAsync(speech.Message);
     audioPlayer.SetSource(ttsStream, "");
     audioPlayer.CurrentStateChanged += async (object sender, Windows.UI.Xaml.RoutedEventArgs e) =>
     {
         await MainPage.Instance.SendResult(new ResultMessage(speech) { ResultId = (int)audioPlayer.CurrentState, Result = Enum.GetName(typeof(MediaElementState), audioPlayer.CurrentState) });
     };
 }
开发者ID:iot-alex,项目名称:virtual-shields-universal,代码行数:10,代码来源:Speech.cs

示例9: Fortune_Text_Click

 private async void Fortune_Text_Click(object sender, TappedRoutedEventArgs e)
 {
     MediaElement media = new MediaElement();
     string text = textBlockFortune.Text;
     SpeechSynthesizer synthesizer = new SpeechSynthesizer();
     SpeechSynthesisStream stream = await synthesizer.SynthesizeTextToStreamAsync(text + ", God bless America");
     media.SetSource(stream, stream.ContentType);
     media.IsLooping = true;
     media.Play();
 }
开发者ID:man1utdfan,项目名称:Manto,代码行数:10,代码来源:MainPage.xaml.cs

示例10: Speak

		public async void Speak(string text)
		{
			SpeechSynthesizer synthesizer = new SpeechSynthesizer();
			SpeechSynthesisStream stream = await synthesizer.SynthesizeTextToStreamAsync(text);
			MediaElement media = new MediaElement();
			media.AutoPlay = true;
			media.SetSource(stream, stream.ContentType);
			media.Play();


		}
开发者ID:marignygrisgris,项目名称:QuickDev,代码行数:11,代码来源:TextToSpeechWindows.cs

示例11: talkItButtonTap

        private async void talkItButtonTap(object sender, RoutedEventArgs e)
        {
            SpeechSynthesizer synth = new SpeechSynthesizer();
            string message = textBox.Text;

            if (message != null)
            {
                var stream = await synth.SynthesizeTextToStreamAsync(message);
                var media = new MediaElement();
                media.SetSource(stream, stream.ContentType);
                media.Play();
            }
            else
            {
                message = "Text box is empty";
                var stream = await synth.SynthesizeTextToStreamAsync(message);
                var media = new MediaElement();
                media.SetSource(stream, stream.ContentType);
                media.Play();
            }
        }
开发者ID:ShawonAshraf,项目名称:TalkItApp_WP,代码行数:21,代码来源:MainPage.xaml.cs

示例12: ProcessCommands

 public async void ProcessCommands(SpeechRecognitionResult result)
 {
     string voiceCommandName = result.RulePath.First();
     SpeechSynthesizer synthesizer = new SpeechSynthesizer();
     switch (voiceCommandName)
     {
         case "showSessionsByRoom":
             var roomNumber = result.SemanticInterpretation.Properties["room"][0];
             await ViewModel.FindSessionsByRoom(roomNumber);
             break;
         case "showSessions":
             var stream = await synthesizer.SynthesizeTextToStreamAsync("There are " + ViewModel.CodecampSessions.Count + " sessions!");
             AudioPlayer.SetSource(stream, string.Empty);
             break;
         case "findSessionsByKeyword":
             string tag = result.SemanticInterpretation.Properties["tag"][0];
             var sessionCount = ViewModel.CodecampSessions.Count(s => s.Tags.Contains(tag));
             var findStream = await synthesizer.SynthesizeTextToStreamAsync("There are " + sessionCount + " sessions related to " + tag + "!");
             AudioPlayer.SetSource(findStream, string.Empty);
             break;
     }
 }
开发者ID:thewindev,项目名称:CodecampUWP,代码行数:22,代码来源:HomeView.xaml.cs

示例13: SpeakAsync

        public async Task SpeakAsync(string text)
        {
            var voice = SpeechSynthesizer.AllVoices
                .First(x => x.Gender.Equals(VoiceGender.Female) && x.Description.Contains("United States"));
            using (var speech = new SpeechSynthesizer { Voice = voice })
            {
                text = string.IsNullOrWhiteSpace(text) ? "There is no text to speak." : text;
                var stream = await speech.SynthesizeTextToStreamAsync(text);

                var media = new MediaElement { AutoPlay = true };
                media.SetSource(stream, stream.ContentType);
            }
        }
开发者ID:timothius2005,项目名称:Template10,代码行数:13,代码来源:SpeechService.cs

示例14: OnClick

 async private void OnClick(object sender, RoutedEventArgs e)
 {
     //文本为空
     if (string.IsNullOrWhiteSpace(txtToSay.Text) == true)
         return;
     //语音朗读
     SpeechSynthesizer speech = new SpeechSynthesizer();
     //将字符串生成语音
     SpeechSynthesisStream stream = await speech.SynthesizeTextToStreamAsync(txtToSay.Text);
     if (stream != null)
     {
         //MediaElement的音频源
         this.mdPlayer.SetSource(stream, stream.ContentType);
     }
 }
开发者ID:745322878,项目名称:Code,代码行数:15,代码来源:MainPage.xaml.cs

示例15: Speak

		// http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj207057(v=vs.105).aspx
		public async void Speak(string text)
		{
			SpeechSynthesizer synth = new SpeechSynthesizer();

            try
            {
                var stream = await synth.SynthesizeTextToStreamAsync(text);

                var mediaElement = new MediaElement();
                mediaElement.SetSource(stream, stream.ContentType);
                mediaElement.Play();
            }
            catch (Exception pe) {
                Debug.WriteLine("couldn't play voice " + pe.Message);
            }
		}
开发者ID:RickySan65,项目名称:xamarin-forms-samples,代码行数:17,代码来源:TextToSpeech_WinPhone81.cs


注:本文中的SpeechSynthesizer.SynthesizeTextToStreamAsync方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。