添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
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 使用已安装的语音合成 (文本转语音) 语音之一,请使用 SelectVoiceSelectVoiceByHints 方法。 若要获取有关已安装哪些语音的信息,请使用 GetInstalledVoices 方法和 VoiceInfo 类。

此类还提供对语音合成的以下方面的控制:

  • 若要配置 SpeechSynthesizer 对象的输出,请使用 SetOutputToAudioStreamSetOutputToDefaultAudioDeviceSetOutputToNullSetOutputToWaveFile 方法。

  • 若要生成语音,请使用 SpeakSpeakAsyncSpeakSsmlSpeakSsmlAsync 方法。 SpeechSynthesizer可以从文本、PromptPromptBuilder 对象或语音合成标记语言 (SSML) 版本 1.0 生成语音

  • 若要暂停和恢复语音合成,请使用 PauseResume 方法。

  • 若要添加或删除词典,请使用 AddLexiconRemoveLexicon 方法。 SpeechSynthesizer可以使用一个或多个词典来指导其字词的发音。

  • 若要修改语音输出的传递,请使用 RateVolume 属性。

    遇到提示中的某些功能时,会 SpeechSynthesizer 引发事件: (BookmarkReachedPhonemeReachedVisemeReachedSpeakProgress) 。 它还引发事件,报告说话操作的开始 (SpeakStarted) 和结束 (SpeakCompleted) 以及语音 () VoiceChange 的变化。

    每次释放对 Dispose 的最后一个引用前,均应调用 SpeechSynthesizer。 否则,在垃圾回收器调用 SpeechSynthesizer 对象的 Finalize 方法之前,该对象正在使用的资源不会被释放。

  •