vb.net文本朗读 vb朗读文字

vb.net 朗读

Interop.SpeechLib.dll 引用后,朗读不限制

我们提供的服务有:成都网站设计、做网站、微信公众号开发、网站优化、网站认证、台前ssl等。为上千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的台前网站制作公司

Me.Cursor = Cursors.WaitCursor

Dim oVoice As New SpeechLib.SpVoice

Dim cpFileStream As New SpeechLib.SpFileStream

oVoice.Voice = oVoice.GetVoices.Item(cmbVoices.SelectedIndex)

oVoice.Volume = trVolume.Value

oVoice.Speak(txtSpeach.Text, SpeechLib.SpeechVoiceSpeakFlags.SVSFDefault)

oVoice = Nothing

Me.Cursor = Cursors.Arrow

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

首先添加一个系统的语音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语音识别的最基本的一些操作.希望对你有帮助.更深入的内容有兴趣的话可以和我一起研究.

如何用VB.net 读写Unicode编码的文本

不要用do until,用for:

Dim arr() As String, i As Integer

arr = Split(r.ReadLine, " ")

For i = LBound(arr) To UBound(arr)

MsgBox(arr(i))

Next

--------------------

还是用readline,如果你要提取两个非连续空格之间的字符串,可以用

Dim arr() As String

arr = Split(r.ReadLine, " ")

arr()数组里就存了你要的单词。

快要下班了,明后天不上班,如果16:30之前还搞不定就要下个星期1了。

----------------------------------

哈,是我的失误没想到还有可能有半角的日文。

用utf-8就OK了,代码如下:

(文本文件存的时候不能存成ansi,要存成utf-8,或是Unicode)

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim r As System.IO.StreamReader

r = New System.IO.StreamReader("c:\a.txt", System.Text.Encoding.GetEncoding("utf-8"))

Do While Not r.EndOfStream

MsgBox(r.ReadLine)

Loop

End Sub

请教在VB.net中如何将数据写入txt文件、再从txt文件读出?

软糖来告诉你吧。

VB.net中读写文件主要使用System.IO命名空间。

① 使用 File.ReadAllText 读取

Dim s As String = System.IO.File.ReadAllText("C:\a.txt")

② 使用 StreamReader 读取,注意编码格式和写入的编码保持一致。

Dim sr As StreamReader = New StreamReader("C:\a.txt", System.Text.Encoding.UTF8)

Dim s As String = sr.ReadToEnd()

sr.Close()

③ 使用 File.WriteAllText 写入,会覆盖同名的文件。

Dim 要写的内容 As String = ""

File.WriteAllText(文件路径, 要写的内容, System.Text.Encoding.UTF8)

④ 使用 StreamWriter 写入。

Dim sw As System.IO.StreamWriter = New System.IO.StreamWriter("C:\a.txt", False, System.Text.Encoding.UTF8)

sw.WriteLine(TextTB.Text)

sw.Close()

⑤ 使用 StreamWriter 追加写入。

将上面代码的第二个参数False改为True。

◆ 满意请采纳,谢谢 ◆

当前名称:vb.net文本朗读 vb朗读文字
文章来源:https://www.cdcxhl.com/article14/dojijde.html

成都网站建设公司_创新互联,为您提供动态网站关键词优化品牌网站建设企业网站制作网站改版面包屑导航

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都定制网站建设