大家好!
我想请教两个问题:
(1)一个是:如何让电脑读一段文字(包括中英文和数字),
(2)另一个问题是:如何让电脑演奏一段音乐,
之前有同学用TC做过一个乐谱,呵呵
请熟悉的朋友帮忙介绍一下,谢谢!

解决方案 »

  1.   

    /// <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);
    }
    }
      

  2.   

    /// <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);
    }
    }
      

  3.   

    Console.Beep就可以演奏音乐,效果类似于最老式的音乐贺卡。具体请参考我的小博 http://blog.csdn.net/ki1381/archive/2007/02/22/1512570.aspx
      

  4.   

    1 调用 TTS SDK
    如果想更绚点用MS Agent,很简单的,网上看下好了,几句话的事,说话:Charactor.Speak("Hello");
      

  5.   

    说错了是Play("hello","动作(也可以没动作)")