.NET Framework 內建 System.Speech.Synthesis.SpeechSynthesizer,無需第三方套件、無需雲端 API Key,幾行代碼即可實現文字轉語音(TTS)。預設語音為中文女聲(Windows 7+ 內建 Microsoft Huihui),適合輔助閱讀、無障礙提示、自動播報等場景。
using System.Speech.Synthesis;SpeakAsync()(非同步)或 Speak()(同步)private void btnSpeak_Click(object sender, EventArgs e) {
if (string.IsNullOrWhiteSpace(txtInput.Text)) return;
var sp = new SpeechSynthesizer();
sp.SpeakCompleted += (s, args) => btnSpeak.Enabled = true; // 讀完恢復按鈕
btnSpeak.Enabled = false;
sp.SpeakAsync(txtInput.Text); // 非同步,不阻塞 UI
}

| 屬性/方法 | 用途 |
|---|---|
SelectVoice("Microsoft Huihui") | 指定語音引擎(需系統已安裝) |
Volume (0-100) | 音量 |
Rate (-10~10) | 語速 |
SpeakSsml() | 支援 SSML 標記(換行、停頓、音調) |
SetOutputToWaveFile() | 輸出 .wav 檔而非直接播放 |
SpeechSynthesizer 需 32 位元模式,專案屬性 → Build → 取消勾選 "Prefer 32-bit" 會導致找不到語音引擎。SpeakAsync 搭配 SpeakProgress 事件做即時高亮或進度條。別再為簡單的語音需求引入重型雲端 SDK,SpeechSynthesizer 早就躺在 GAC 裡等你呼喚了。