在C#中,条件编译是一种预处理器功能,它允许开发者在编译时根据特定的条件包含或排除代码段。这种方法可以用来创建跨多个平台的代码、处理不同的编译选项,或者仅仅用来调试目的。
条件编译通常用于以下场景:
System.Speech 命名空间提供了在 WinForms 应用程序中进行语音合成(TTS)的功能。您可以使用 System.Speech 中的类和方法来读取文本并将其转换为语音。
nuget 安装System.Speech

以下是 System.Speech 命名空间中一些常用的属性和方法:
SpeakAsync:异步将指定的文本转换为语音并播放。
用于将指定的文本转换为语音并进行播放。该方法是异步的,它会立即返回,而不会等待语音播放完成。
Speak:将指定的文本转换为语音并播放。
Volume:获取或设置语音合成器的音量级别。
Volume 属性用于获取或设置语音合成器的音量级别。它的取值范围是从 0 到 100,默认值为 100。
Rate:获取或设置语音合成器的语速。
Rate 属性用于获取或设置语音合成器的语速。它的取值范围是从 -10 到 10,默认值为 0。负值表示较慢的语速,正值表示较快的语速。
SelectVoice:选择要用于语音合成的语音。
方法用于选择要用于语音合成的语音。可以通过传递语音的名称或标识符来选择语音。如果没有指定语音,系统将使用默认语音。
NAudio是一个开源的音频库,用于在C#应用程序中处理音频。它提供了许多方便的属性和方法,使开发人员能够轻松地读取、写入、转换和处理音频数据。


这个例子是在.net 6下,所以需要引用core版本。
SoundPlayer是C#中一个用于播放声音文件的类。它提供了一组属性和方法,用于控制声音的播放、暂停、停止等操作。在本文中,我们将详细介绍SoundPlayer的常用属性和方法,并提供一些实际的例子来演示它们的用法。
C#System.Windows.Extensions
以下是SoundPlayer类的常用属性:
以下是SoundPlayer类的常用方法:
下面是一个完整的示例代码,演示了如何使用这些属性:
C#private void btnPlay_Click(object sender, EventArgs e)
{
// 创建一个SoundPlayer实例
SoundPlayer player = new SoundPlayer();
// 设置要播放的音频文件路径
player.SoundLocation = "D:\\BaiduSyncdisk\\11Test\\sa1.wav";
player.Load();
// 检查音频文件是否已加载完成
if (player.IsLoadCompleted)
{
stslbl_desc.Text = "音频文件已加载完成";
}
// 播放音频文件
player.Play();
}
