想在vb.net的程序中有一个语音提示,该怎么写

想在vb.net的程序中有一个语音提示,该怎么写,第1张

首先添加一个系统语音COM组件的引用microsoft speech object library然后在程序中声明一个语音类dim RC As SpeechLib.SpSharedRecoContext这个类有一些事件,如果你要处理它的一些事件,可以用withevent来声明然后在窗体LOAD事件或你需要的地方先创建一个实例RC = New SpeechLib.SpSharedRecoContext当一个RC被实例化后,系统就会运行语音识别程序.前提是你的系统已经正确安装这个功能.一般默认就已经安装好的.其次提醒一下,WIN7的语音识别比XP的好N倍.从阅读到侦听都好很多.然后就可以在你需要阅读的地方使用RC.Voice.Speak("hello 我", 11)11那里是一些枚举,用来标识系统用前台还是后台或其他方式来阅读文字,简单的来说就是阅读的时候不会卡住你的程序.你可以选其他的枚举来试试作用.以上为阅读部分.如果需要程序听你说话,则需要声明一个侦听类dim RG As SpeechLib.ISpeechRecoGrammar在初始化时将之与上面的RC建立关系,此时则必须要用withevent来声明上面的RC,因为涉及电脑听到你的语音后,会触发一个事件,并将听到的内容传递到该事件.其次,要让系统听到的解析为命令,就必须准备一个XML结构的文件来保存那些固定的命令.如果电脑在XML文件中找不到那些固定命令或同时不属于系统命令,电脑将会将其解释为听写.RG = RC.CreateGrammar '(0)

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>要让系统正确地侦听到你说的话,前提你必须运行语音识别程序并让其激活到"正在聆听"状态.并且你必须有一个能正常使用的话筒而且保证话筒已经打开.(废话-_-|||)以上就是用VB.NET语音识别的最基本的一些 *** 作.希望对你有帮助.更深入的内容有兴趣的话可以和我一起研究.

好久没写.net代码了,给你一个思路吧,具体的代码你百度一下,可以自己写出来的

既然是语音系统,就一定得有发声功能,

两种方法,

一种是.net本身自带的一个属性,好像只是滴的一声,当满足某种条件时,才会触发这个滴的时间,至于怎么触发或何时触发,需要你自己把握设置了

还有一种是载入声音文件,比如*.wmv,这种最常用,音质也很好,也是在满足某种条件时,写入该载入的方式,这就跟游戏里面不同场景播放不同音乐的方式是一样的

在vs中建立一个类库,编写含有语音播报功能的方法,并将其生成Dll文件。

然后,由于CVI程序无法直接调用C#生成的Dll文件,需要先将Dll文件通过CVI工具选项卡中的“Create. Controller”,生成一个调用.NET汇编代码的包装器(wrapper),该包装器包含对应的仪器驱动(*.fp)、源文件(*.c)和头文件(*.h)。

在生成语音dll文件时,是基于.net framework 4.5 ,所以在.net framework 4.0的平台上使用时,会报-6579错误,这时安装.net framework 4.5插件即可。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12047240.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存