1.安装 using NAudio.Wave;
using NAudio.Wave;
2.粘贴代码:
public void Play(string text){// 创建一个语音合成器using (SpeechSynthesizer synthesizer = new SpeechSynthesizer()){// 获取系统中可用的语音列表var voices = synthesizer.GetInstalledVoices();// 输出可用的语音Console.WriteLine("Available voices:");foreach (var voice in voices){Console.WriteLine(voice.VoiceInfo.Name);}// 选择一个语音(根据你的需求选择,例如选择第一个语音)synthesizer.SelectVoice(voices[0].VoiceInfo.Name);// 设置语音属性synthesizer.Volume = 100;synthesizer.Rate = 0;// 获取一个内存流用于存储语音数据using (MemoryStream stream = new MemoryStream()){// 将生成的语音写入内存流synthesizer.SetOutputToWaveStream(stream);synthesizer.Speak(text);// 将流的内容重置到开始位置stream.Position = 0;// 使用 NAudio 播放内存流中的音频PlayAudioStream(stream);}}}// 使用 NAudio 播放音频流static void PlayAudioStream(MemoryStream stream){// 创建一个 WaveStream 来读取内存中的音频数据using (WaveStream waveStream = new WaveFileReader(stream)){// 创建一个输出设备来播放音频using (WaveOutEvent waveOut = new WaveOutEvent()){// 将 WaveStream 设置为输出流waveOut.Init(waveStream);// 播放音频waveOut.Play();// 等待直到音频播放完成while (waveOut.PlaybackState == PlaybackState.Playing){System.Threading.Thread.Sleep(100);}}}}
3.使用方法:中英文都行
Play("开始外放");