System.Speech.Synthesis 命名空间

包含一些类,用于初始化和配置语音合成引擎、创建提示、生成语音、响应事件,以及用于修改语音特征。

BookmarkReachedEventArgs

BookmarkReached 事件返回数据。

FilePrompt

表示从文件创建的提示。

InstalledVoice

包含有关 Windows 中安装的语音合成的声音的信息。

PhonemeReachedEventArgs

PhonemeReached 事件返回数据。

Prompt

表示 SpeechSynthesizer 可以呈现的内容(文本或音频文件)的相关信息。

PromptBuilder

创建空的 Prompt 对象,并为添加内容、选择语音、控件语音属性和控件朗读单词的发音提供方法。

PromptEventArgs

表示在 System.Speech.Synthesis 命名空间中 EventArgs 类的基类。

PromptStyle

定义由重点、速率和音量设置组成的语音提示的样式。

SpeakCompletedEventArgs

SpeakCompleted 事件返回通知。

SpeakProgressEventArgs

SpeakProgress 事件返回数据。

SpeakStartedEventArgs

SpeakStarted 事件返回通知。

SpeechSynthesizer

提供对已安装的语音合成引擎的功能的访问。

StateChangedEventArgs

StateChanged 事件返回数据。

VisemeReachedEventArgs

VisemeReached 事件返回数据。

VoiceChangeEventArgs

VoiceChange 事件返回数据。

VoiceInfo

表示一个安装的语音合成引擎。

枚举

PromptBreak

枚举字边界之间韵律分离(中断)间隔的值。

PromptEmphasis

枚举在提示的焦点的级别值。

PromptRate

枚举提示的语速的值。

PromptVolume

枚举提示的卷级别的值。

SayAs

枚举元素朗读的内容类型如时间、日期和货币。

SynthesisMediaType

枚举媒体文件的类型。

SynthesisTextFormat

枚举可用于构造 Prompt 对象的文本格式的类型。

SynthesizerEmphasis

枚举合成器焦点的级别。

SynthesizerState

枚举 SpeechSynthesizer 状态的值。

VoiceAge

定义合成语音期限的值。

VoiceGender

定义合成语音性别的值。

注解

初始化和配置

SpeechSynthesizer 提供对安装在主计算机上的语音合成引擎功能的访问权限。 已安装的语音合成引擎由语音表示,例如 Microsoft Anna。 实例 SpeechSynthesizer 初始化为默认语音。 若要将实例配置为 SpeechSynthesizer 使用其他已安装语音之一,请调用 SelectVoiceSelectVoiceByHints 方法。 若要获取有关已安装哪些语音的信息,请使用 GetInstalledVoices 方法。

可以使用 类中SpeechSynthesizer名称以“”SetOutputTo开头的 方法之一,将 的输出SpeechSynthesizer路由到流、文件、默认音频设备或 null 设备。

创建提示

使用名称以“”Append开头的 PromptBuilder 类的一种方法为文本提示生成内容、语音合成标记语言 (SSML) 、包含文本或 SSML 标记的文件或预先录制的音频文件。

有关详细信息和示例,请参阅系统语音编程指南中的构造复杂提示,了解.NET Framework。

生成语音

若要从字符串或 PromptPromptBuilder 对象生成语音,请使用 SpeakSpeakAsync 方法。 若要从 SSML 标记生成语音,请使用 SpeakSsmlSpeakSsmlAsync 方法。 有关 SSML 标记的指南,请参阅 语音合成标记语言参考

可以通过使用 AppendTextWithHintAppendTextWithPronunciation 方法以及使用 AddLexiconRemoveLexicon 方法添加或删除实例的词典SpeechSynthesizer来指导单词的发音。

响应事件

SpeechSynthesizer包括通知语音应用程序SpeechSynthesizer在提示中遇到特定功能的事件,如 、BookmarkReachedEventArgsPhonemeReachedEventArgsVisemeReachedEventArgs 类报告SpeakProgressEventArgs的那样。

若要通过 获取有关提示的开始和结束部分 SpeechSynthesizer的信息,请使用 SpeakStartedEventArgsSpeakCompletedEventArgs 类。

有关详细信息和示例,请参阅系统语音编程指南中的使用语音合成事件了解.NET Framework。

修改语音特征

PromptStyleStartStyleAppendText 方法允许使用 EmphasisRateVolume 参数修改语音的特征SpeechSynthesizer。 若要修改语音的特征(如区域性、年龄和性别),请使用 类的方法PromptBuilderStartVoice一或SelectVoiceByHints类的方法之SpeechSynthesizer一。

有关详细信息,请参阅.NET Framework的系统语音编程指南中的控制语音属性

另请参阅