SpeechSynthesizer 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供对已安装的语音合成引擎的功能的访问。
public ref class SpeechSynthesizer sealed : IDisposable
public sealed class SpeechSynthesizer : IDisposable
type SpeechSynthesizer = class
interface IDisposable
Public NotInheritable Class SpeechSynthesizer
Implements IDisposable
- 继承
-
SpeechSynthesizer
- 实现
示例
以下示例是控制台应用程序的一部分,该应用程序初始化 SpeechSynthesizer 对象并说出字符串。
using System;
using System.Speech.Synthesis;
namespace SampleSynthesis
{
class Program
{
static void Main(string[] args)
{
// Initialize a new instance of the SpeechSynthesizer.
SpeechSynthesizer synth = new SpeechSynthesizer();
// Configure the audio output.
synth.SetOutputToDefaultAudioDevice();
// Speak a string.
synth.Speak("This example demonstrates a basic use of Speech Synthesizer");
Console.WriteLine();
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
}
}
注解
创建新 SpeechSynthesizer 对象时,它使用默认的系统语音。 若要将 配置为 SpeechSynthesizer 使用已安装的语音合成 (文本转语音) 语音之一,请使用 SelectVoice 或 SelectVoiceByHints 方法。 若要获取有关已安装哪些语音的信息,请使用 GetInstalledVoices 方法和 VoiceInfo 类。
此类还提供对语音合成的以下方面的控制:
若要配置 SpeechSynthesizer 对象的输出,请使用 SetOutputToAudioStream、 SetOutputToDefaultAudioDevice、 SetOutputToNull和 SetOutputToWaveFile 方法。
若要生成语音,请使用 Speak、 SpeakAsync、 SpeakSsml或 SpeakSsmlAsync 方法。 SpeechSynthesizer可以从文本、Prompt或 PromptBuilder 对象或语音合成标记语言 (SSML) 版本 1.0 生成语音。
若要添加或删除词典,请使用 AddLexicon 和 RemoveLexicon 方法。 SpeechSynthesizer可以使用一个或多个词典来指导其字词的发音。
遇到提示中的某些功能时,会 SpeechSynthesizer 引发事件: (BookmarkReached、 PhonemeReached、 VisemeReached和 SpeakProgress) 。 它还引发事件,报告说话操作的开始 (SpeakStarted) 和结束 (SpeakCompleted) 以及语音 () VoiceChange 的变化。
注意
每次释放对 Dispose 的最后一个引用前,均应调用 SpeechSynthesizer。 否则,在垃圾回收器调用 SpeechSynthesizer 对象的 Finalize 方法之前,该对象正在使用的资源不会被释放。
构造函数
SpeechSynthesizer() |
初始化 SpeechSynthesizer 类的新实例。 |
属性
Rate |
获取或设置 SpeechSynthesizer 对象的语速。 |
State |
获取 SpeechSynthesizer 对象的当前语速。 |
Voice |
获取有关当前 SpeechSynthesizer 对象的语音的信息。 |
Volume |
获取或设置 SpeechSynthesizer 对象的输出量。 |
方法
事件
BookmarkReached |
SpeechSynthesizer 在提示中遇到书签时引发。 |
PhonemeReached |
当音素达到时引发。 |
SpeakCompleted |
当 SpeechSynthesizer 完成提示的讲话的时候引发。 |
SpeakProgress |
在 SpeechSynthesizer 使用提示的每个单词后引发。 |
SpeakStarted |
当 SpeechSynthesizer 开始提示的讲话的时候引发。 |
StateChanged |
当 SpeechSynthesizer 的状态更改的时候引发。 |
VisemeReached |
当 viseme 达到时引发。 |
VoiceChange |
当 SpeechSynthesizer 的语音更改的时候引发。 |