方法一:

下载:Interop.SpeechLib.dll文件

引用using SpeechLib;

private void button1_Click(object sender, EventArgs e)  {             try             {                /SpVoice voice = new SpVoice();                voice.Rate = 0;//朗读速度

               /voice.Voice = voice.GetVoices(string.Empty, string.Empty).Item(0);                /voice.Speak("语音测试", SpeechVoiceSpeakFlags.SVSFDefault);             }             catch (Exception ex)             {                 MessageBox.Show(ex.Message);             }

}

注意:在本机使用时没有任何问题,但部署到客户电脑时,总是因系统缺少相关组件而出错!

方法二:

自己提前制作Wav音频文件,在需要时调用播放。

引用:using System.Media;

private void button1_Click(object sender, EventArgs e)  {             try             {                 SoundPlayer play = new SoundPlayer();                 play.SoundLocation = AppDomain.CurrentDomain.BaseDirectory.ToString() +                     "WavInfo\\测试语音文件.wav";                 play.Load();                 //使用Play()来进行播放,这方法是异步方法,会在另一个线程中播放。                 //如果有时候需要等播放完成后才能允许进行其他操作,那么可以使用PlaySync()来进行播放。如果想循环播放,则采用PlayLooping()来实现。                 play.Play();                 play.Dispose();             }             catch (Exception ex)             {                 MessageBox.Show(ex.Message);             }

}

注意:此方法支持wav格式,且必须是Microsoft PCM频率(如下图)

 

我用的上图‘文字转语音工具’生成wav音频文件,直接使用此文件,报错提示必须是PCM格式

然后又用‘GoldWave’工具将频率转换为‘Microsoft ADPCM’的。 直接将文件在此软件中打开,另存为选择保存类型即可(如上图)。

精彩链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。