vb.net的发声程序 vbnet sendkeys( 三 )


RG.CmdLoadFromFile("听到.xml", SpeechLib.SpeechLoadOption.SLODynamic)
RG.CmdSetRuleIdState(0, SpeechLib.SpeechRuleState.SGDSActive)然后写一个过程来处理听到的事件Private Sub 听到命令(ByVal StreamNumber As Integer, ByVal StreamPosition As Object, ByVal RecognitionType As SpeechLib.SpeechRecognitionType, ByVal 话语 As SpeechLib.ISpeechRecoResult) Handles RC.Recognition RC.Voice.Speak("我听到了"话语.PhraseInfo.GetText, 11)End Sub以上为侦听部分.下面列一个XML的例文?xml version="1.0" encoding="gb2312"?
GRAMMAR LANGID="804"
RULE NAME="命令" TOPLEVEL="ACTIVE"
L
P打开播放器
P上我的QQ
P关闭你自己 /L
/RULE
/GRAMMAR要让系统正确地侦听到你说的话,前提你必须运行语音识别程序并让其激活到"正在聆听"状态.并且你必须有一个能正常使用的话筒而且保证话筒已经打开.(废话-_-|||)
visual basic 怎么让声音随程序播放?众所周知 , Visual Basic是功能非常强大的多媒体开发工具,它有丰富的函数和方法处理各种各样的多媒体信息,能够很灵活的操作图形、声音、动画、影象等多媒体素材 。但有时我们使用Visual Basic开发非多媒体应用程序 , 并不需要在应用程序中大量的使用声音,而只是需要在特定的场合出现 。如Windows的警告声 。这就要求程序员在恰当的环境中恰当的使用声音文件,既不失去VB在多媒体方面的特长,又能够为应用程序增加吸引人的效果 。VB可以用于输出声音的方法很多,归结一下 , 大概有以下四种: 1.利用Beep语句
这是VB系统提供的一条利用计算机扬声器发声的语句,它只能够发出简单的蜂鸣声,但在应用程序中大量用于输出警告的信息 。如下例允许用户在文本框中输入数字,当用户输入错误时 , 系统会报警提示 。
Sub Text1_KeyPress (keyascii As Integer)
If keyascii48 Or keyascii57 Then
Beep:Beep: Beep
keyascii = 0
End If
End Sub 2.其实计算机的蜂鸣器也可以发出不同频率、音高的声音,从而奏出美妙的音乐 。方法是调用Windows的一些有关发声的API函数 。Windows系统包含十六个声音函数,它们都存放在Windows的SOUND.DRV这个驱动程序所包含的动态连接库中 。其中最常用的四个函数是OpenSound , CloseSound,SetVoiceNote,StartSound 。其声明格式如下:
Declare Function OpenSound Lib "Sound" () As Integer
Declare Sub CloseSound Lib "Sound" ()
Declare Function SetVoiceNote Lib "Sound" (ByVal nVoice As
Integer, ByVal nValue As Integer, ByVal nLength As Integer, ByVal nCdots
As Integer) As Integer
Declare Function StartSound Lib "Sound" () As Integer
在Visual Basic的通用过程中声明上述函数后 , 就可以象使用Visual Basic自己的函数一样使用Windows的API函数 。下面给出一个例子,只需要在窗体中放置7个按钮组成的控件数组 , 调用上述函数就可以简单的实现准确的音阶:
Sub Command1_Click (index As Integer)
a% = OpenSound()
Select Case index
Case 0: f = 37
Case 1: f = 39
Case 2: f = 41
Case 3: f = 42
Case 4: f = 44
Case 5: f = 46
Case 6: f = 48
End Select
m1% = SetVoiceNote(1, f, 4, 0)
m2% = StartSound()
End Sub 3.Visual Basic是第一个支持对象连接与嵌入(OLE)的开发工具,利用OLE可以简单的在应用程序中插入声音文件 。这也是使用Visual Basic开发多媒体软件常用的方法 。使用过VB的读者都知道 , VB的ToolBox中就有OLE2.0控件 。当我们双击OLE2.0控件时,会弹出“Insert Object”窗口,在窗口中选择对象类型Object Type为声音文件,选择“Create from File”,指定硬盘上声音文件的位置,同时确认Link方式 。这些步骤其实是在设置OLE2.0的属性 。通过按F4打开Properties属性窗口,设置其中的Class、SourceDoc、SourceItem等属性也可完成这一工作 。按F5运行程序,双击OLE对象时就会发声 。与播放各种声音文件相关的属性为Action,通过设置Action属性可以打开、驱动、删除相应的声音对象 。如下例在窗体装入时调用声音文件:

推荐阅读