小弟写另一个语音系统做实验,是先用两种语言先后读取文本框里的文字。读取的时候我是用按钮来触发的。
部分代码如下:using SpeechLib;
using System.Threading;
 private void Form1_Load(object sender, EventArgs e)
        {
tb_sp.Text = "张三,张三,你妈叫你回家吃饭啦!"
svsf = new SpeechVoiceSpeakFlags();
svsf = SpeechVoiceSpeakFlags.SVSFlagsAsync;
svc = new SpVoiceClass();//系统默认使用Lily
svc_y = new SpVoiceClass();
fs = new SpFileStreamClass();
}
 private void Voice()
        {
            for (int i = 0; i < 2; i++)
            {
                if (i == 0)
                {
                    svc.Voice = svc.GetVoices("", "Language=804").Item(0);//804为VM Lily;
                    svc.Speak(tb_sp.Text.Trim(), svsf);//系统默认语音朗读
                }
                else
                {
                    svc.Voice = svc_y.GetVoices("", "Language=C04").Item(0);//C04为粤语;
                    svc.Speak(tb_sp.Text.Trim(), svsf);//系统默认语音朗读
                }
            }
          
                
        } private void bt_sp_Click(object sender, EventArgs e)//按钮事件
        {
            mythread = new Thread(Voice);
       mythread.Start(); 
          
            
        }如果我在出现还没有读完tb_sp里的文字时,我再按一次,两次、三次按钮的时候,结果就是,先读VM Lily三遍,再粤语读三遍。可是我要的效果是,我连续按三次按钮的时候是:读完VM Lily,接着读粤语,这样为一次,然后重复读三次。。不知道各位大虾是否明白我说的 ,能不能帮我解决这个问题~~