日期:2014-05-19  浏览次数:21217 次

如何使用TTS循环播放语音的问题.请帮帮我,不胜感激.
初学C#,我想在工作线程里循环的读文本.代码如下.
  //读文本线程
    private   void   Threadreadblast()
  {  
  try
  {
      do
      {
            DotNetSpeech.SpeechVoiceSpeakFlags   SSF   =     DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync;
                                        DotNetSpeech.SpVoice   vo   =   new   DotNetSpeech.SpVoiceClass();
            vo.Voice   =   vo.GetVoices( " ",   " ").Item(3);
            vo.Speak(txtblast,   SSF);       //捕获到错误,弹出内存不够                                
      }
      while   (flag   ==   true);
  }
  catch   (System.Exception   ec)
  {
  MessageBox.Show(ec.ToString(),   "SpeechApp ",   MessageBoxButtons.OK,     System.Windows.Forms.MessageBoxIcon.Error);
  }                  
  }
运行着老是弹出错误.我也觉得这样不对,还没speek完就进入下一次循环了.肯请高手不吝赐教,如何知道TTS已经转换完成,如何让语音循环播放.我只有几十分的家当,全给了,很珍贵的.

------解决方案--------------------
设-1,一直等到放完为止。