太简单了吧
添加VB的控件,添加那个micro.... speech...的控件
然后做个窗体,把那个控件放上去,好象是什么play之类的方法就成了,用起来巨EASY,还有口型变化,你可以轻易的做出个打字软件。

解决方案 »

  1.   

    关注!请问具体控件名是什么,哪里有下载。另外TTS的原理是什么,如何自己编写,不用别人的控件
      

  2.   

    MSDN 里面有 TTS 的 SDK 帮助。
      

  3.   

    《金山词霸2000》的英文全文朗读功能,是直接使用了MSTTS(Text-to-Speech)技术,在VB6.0中通过对MS SpeechAPI的调用,可以轻松实现更强大的功能。方法如下:
      首先,从《金山词霸2000》光盘上\ciba子目录下运行mstts.exe(MS TTS engine)并安装spchapi(MS Speech API)。
      第二,进入VB6.0,执行菜单“工程”中的“引用”,“浏览”到Windows目录下的Speech子目录,打开vtxtauto.tlb,则“VoiceText 1.0 Type Library”将被添加到可用的引用中。选中它,然后单击确定。
      第三,执行菜单“文件/新建工程/标准EXE”并确定,在Form1中添加Text1,command1,command2,command3和command4。主要属性设置如下:
      Form1的StartUpPosition=2
      Text1的MultiLine=True,Caption=″How are you?″,ScrollBars=2
      Command1的Caption=″Read″
      Command2的Caption=″Stop″,Enabled=false
      Command3的Caption=″Pause″,Enabled=false
      Command4的Caption=″Quit″
      第四,代码如下:
      ′通用声明
      Private Declare Function waveOutGetNumDevs Lib ″winmm.dll″ () As Long
      Private Sub Form_Load()
      ′通过API函数调用,判断系统是否安装有声卡以及声卡驱动程序
      Dim i As Integer
      i = waveOutGetNumDevs()
      If i <= 0 Then
      MsgBox ″系统无声卡或未装声卡驱动程序,请安装好以后再试...″, ″错误提示″
      Unload Me
      Else
      ′注册
      Call VTxtAuto.VTxtAuto.Register(Space(10), Space(10))
      End If
      End Sub
      Private Sub Command1_Click()
      ′如果text1中有汉字,转到错误提示
      On Error GoTo handler
      ′开始朗读
      Call VTxtAuto.VTxtAuto.Speak(Trim(Text1.Text), vtxtsp_VERYHIGH + vtxtst_READING)
      Command2.Enabled = True
      Command3.Enabled = True
      Exit Sub
      handler:
      MsgBox ″本程序只能阅读英文文档″, , ″错误提示″
      End Sub
      Private Sub Command2_Click()
      ′停止朗读
      Call VTxtAuto.VTxtAuto.StopSpeaking
      Command2.Enabled = False
      Command3.Enabled = False
      End Sub
      Private Sub Command3_Click()
      ′暂停或恢复朗读
      If VTxtAuto.VTxtAuto.IsSpeaking Then
      Call VTxtAuto.VTxtAuto.AudioPause
      Command3.Caption = ″Resume″
      Else
      Call VTxtAuto.VTxtAuto.AudioResume
      Command3.Caption = ″Pause″
      End If
      End Sub
      Private Sub Command4_Click()
      Unload Me
      End Sub
      程序运行时,在Text1中输入英文句子,然后单击“朗读”按钮,即可实现朗读。
      第五,说明:
      1.成员函数的第一个参数向TTS引擎传递需要朗读的文字,第二个控制朗读时的语气和优先级,由两个常量相加组成。
      控制优先级的常量有:vtxtsp_HIGH = 256 (&H100),尽快读出,加入播放队列开始。vtxtsp_NORMAL = 512 (&H200),默认,加入播放队列末尾。vtxtsp_VERYHIGH = 128 (&H80),立即读出,可打断正在读的内容。
      控制语气的常量有:vtxtst_COMMAND = 4,命令的语气。vtxtst_NUMBERS = 32 (&H20),阅读数字的语气。vtxtst_QUESTION = 2,提问的语气。vtxtst_READING = 16 (&H10),阅读文档时的语气。vtxtst_SPREADSHEET = 64 (&H40),阅读电子表格中元素的语气。vtxtst_STATEMENT = 1,平时说话时的语气,默认。vtxtst_WARNING = 8,警告语气。
      2.通过IsSpeaking可以取得当前状态,AudioPause和AudioResume实现暂停和恢复朗读。
      3.另外,AudioFastForward和AudioRewind可以向前和向后跳过一句朗读,修改Speed属性的值可以设置朗读的语速,默认是170。
      4.本程序支持粘贴功能,可从剪贴板中粘贴英文文档内容到文本框中,也可直接输入英文句子。
      注:本程序在Win98、VB6.0环境中调试通过。
      

  4.   

    如果安装了语音引擎,引用中应该有Voice Text 1.0 Type Library。选中。
    代码:
    Dim astr As String
        
        Command1.Enabled = False
        'vText.Register
        vText.Register vbNullString, "Speech"
        'vtext.Register
        astr = "This is a sample of Microsoft Speech Engine?"
        vText.Speak astr, vtxtsp_NORMAL Or vtxtst_QUESTIONwww.applevb.com
      

  5.   

    各位呀,我看到以前好象有几篇帖子介绍利用金山词霸2000中的TTS引擎发音,据说安装了TTS引擎的话,VB中好象就可以引用Voice Text 1.0 Type Library,那样说的话,MSAGENT应该也是用的是MS TTS引擎吧,如果是的话,那么AGENT的TTS引擎是哪些文件,而且应该也可以引用相应的TTS引擎自己编程,而不借助AGENT控件,不知是不是这样?如果可以引用的话,应该引用哪些文件,如何引用?多谢了。
      

  6.   

    我的信箱:[email protected],请各位高手多多指点,有例子的能否发给我,定加分呀,;)