【急切求助】如何让电脑读文字及演奏音乐? 大家好!我想请教两个问题:(1)一个是:如何让电脑读一段文字(包括中英文和数字),(2)另一个问题是:如何让电脑演奏一段音乐,之前有同学用TC做过一个乐谱,呵呵请熟悉的朋友帮忙介绍一下,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 /// <summary> /// 朗读 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ButtonSynthesis_Click(object sender, System.EventArgs e) { try { DotNetSpeech.SpeechVoiceSpeakFlags SSF = DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync; DotNetSpeech.SpVoice vo = new SpVoiceClass(); vo.Speak(this.textBox1.Text,SSF); } catch(System.Exception ec) { MessageBox.Show(ec.ToString(),"SpeechApp",MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Error); } } /// <summary> /// 生成声音文件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ButtonTTStoWave_Click(object sender, System.EventArgs e) { try { DotNetSpeech.SpeechVoiceSpeakFlags SSF = DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync; DotNetSpeech.SpVoice vo = new SpVoiceClass(); System.Windows.Forms.SaveFileDialog SFD = new System.Windows.Forms.SaveFileDialog(); SFD.Filter = "All files (*.*)|*.*|wav files (*.wav)|*.wav"; SFD.Title = "Save to a wav file"; SFD.FilterIndex = 2; SFD.RestoreDirectory = true; if(SFD.ShowDialog()==System.Windows.Forms.DialogResult.OK) { DotNetSpeech.SpeechStreamFileMode SSFM = DotNetSpeech.SpeechStreamFileMode.SSFMCreateForWrite; DotNetSpeech.SpFileStream SFS = new DotNetSpeech.SpFileStreamClass(); SFS.Open(SFD.FileName,SSFM,false); vo.AudioOutputStream = SFS; vo.Speak(this.textBox1.Text,SSF); vo.WaitUntilDone(System.Threading.Timeout.Infinite); SFS.Close(); } } catch(System.Exception ec) { MessageBox.Show(ec.ToString(),"SpeechApp",MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Error); } } Console.Beep就可以演奏音乐,效果类似于最老式的音乐贺卡。具体请参考我的小博 http://blog.csdn.net/ki1381/archive/2007/02/22/1512570.aspx 1 调用 TTS SDK如果想更绚点用MS Agent,很简单的,网上看下好了,几句话的事,说话:Charactor.Speak("Hello"); 说错了是Play("hello","动作(也可以没动作)") 帮我改个方法 [求助]帮我看看这个this指针代表什么 求助 在没有xml文件的情况下,怎么把xslt文件转换成html文件 C# 读取CSV数据到DataSet的问题 第三方控件 加载 异常处理的理解 在C#中结构体如何使用? 500分求助C#报表设计器 未处理的"System.OutOfMemoryException"类型的异常出现在system.windows.forms.dll中 请教一个数据库设计问题,如何设计这样的表? 【急切求助】如何实现比较两文本文件、让不同的行显示彩色并显示该行的行数(南京某软件公司面试题)?
/// 朗读
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ButtonSynthesis_Click(object sender, System.EventArgs e)
{
try
{
DotNetSpeech.SpeechVoiceSpeakFlags SSF = DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync;
DotNetSpeech.SpVoice vo = new SpVoiceClass();
vo.Speak(this.textBox1.Text,SSF);
}
catch(System.Exception ec)
{
MessageBox.Show(ec.ToString(),"SpeechApp",MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Error);
}
}
/// 生成声音文件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ButtonTTStoWave_Click(object sender, System.EventArgs e)
{
try
{
DotNetSpeech.SpeechVoiceSpeakFlags SSF = DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync;
DotNetSpeech.SpVoice vo = new SpVoiceClass();
System.Windows.Forms.SaveFileDialog SFD = new System.Windows.Forms.SaveFileDialog();
SFD.Filter = "All files (*.*)|*.*|wav files (*.wav)|*.wav";
SFD.Title = "Save to a wav file";
SFD.FilterIndex = 2;
SFD.RestoreDirectory = true;
if(SFD.ShowDialog()==System.Windows.Forms.DialogResult.OK)
{
DotNetSpeech.SpeechStreamFileMode SSFM = DotNetSpeech.SpeechStreamFileMode.SSFMCreateForWrite;
DotNetSpeech.SpFileStream SFS = new DotNetSpeech.SpFileStreamClass();
SFS.Open(SFD.FileName,SSFM,false);
vo.AudioOutputStream = SFS;
vo.Speak(this.textBox1.Text,SSF);
vo.WaitUntilDone(System.Threading.Timeout.Infinite);
SFS.Close();
}
}
catch(System.Exception ec)
{
MessageBox.Show(ec.ToString(),"SpeechApp",MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Error);
}
}
如果想更绚点用MS Agent,很简单的,网上看下好了,几句话的事,说话:Charactor.Speak("Hello");