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 的語音時引發。 |