方法一:
下载: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’的。 直接将文件在此软件中打开,另存为选择保存类型即可(如上图)。
精彩链接
发表评论