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


C# SpeechSynthesizer.SynthesizeSsmlToStreamAsync方法代码示例

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


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

示例1: SythesizeAsync

        public async Task<Stream> SythesizeAsync(string ssmlFragment, string language = "en-US", Gender gender = Gender.Female)
        {
            if (language == null) throw new ArgumentNullException(nameof(language));

            var voice = SpeechSynthesizer.AllVoices
                        .Where(v => v.Language == language && v.Gender == (VoiceGender)Enum.Parse(typeof(VoiceGender), gender.ToString(), true))
                        .FirstOrDefault();
            if (voice == null || ssmlFragment == null)
                return null;

            try
            {
                using (var synth = new SpeechSynthesizer())
                {
                    synth.Voice = voice;
                    var ssml = String.Format(SsmlTemplate, language, ssmlFragment);
                    return (await synth.SynthesizeSsmlToStreamAsync(ssml)).AsStream();
                }
            }
            catch (Exception e)
            {
                return null;
            }
        }
开发者ID:evgri243,项目名称:pubic-demos,代码行数:24,代码来源:LocalSpeechSythesizer.cs

示例2: SpeakSsml

        /// <summary>
        /// Speaks the specified SSML in the current voice.
        /// </summary>
        /// <remarks>The SSML may override the current voice.</remarks>
        public async Task SpeakSsml(string text)
        {
            this.state = SpeechDialogBoxState.Speaking;

            var synthesizer = new SpeechSynthesizer();
            await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, new DispatchedHandler(
              () =>
              {
                  synthesizer.Voice = this.FindVoice();
              }));

            var stream = synthesizer.SynthesizeSsmlToStreamAsync(text);
            stream.Completed += SpeechSynthesis_Completed;
        }
开发者ID:dinhchitrung,项目名称:SpeechInputBox,代码行数:18,代码来源:SpeechDialogBox.cs


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