A simple Sound Recorder~
創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括阿魯科爾沁網(wǎng)站建設(shè)、阿魯科爾沁網(wǎng)站制作、阿魯科爾沁網(wǎng)頁(yè)制作以及阿魯科爾沁網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,阿魯科爾沁網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶(hù)以成都為中心已經(jīng)輻射到阿魯科爾沁省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶(hù)的支持與信任!
1. Add Three buttons (button1, button2, button3) and a label (label1) to the form.
2. Set the Text of Button1 to Start, Button2 to Stop, and Button3 to Play.
3. Add this code:
Public?Class?Form1
Private?Declare?Function?mciSendString?Lib?"winmm.dll"?Alias?"mciSendStringA"?(ByVal?lpstrCommand?As?String,?ByVal?lpstrReturnString?As?String,?ByVal?uReturnLength?As?Integer,?ByVal?hwndCallback?As?Integer)?As?Integer
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
Button1.Enabled?=?False
Button2.Enabled?=?True
mciSendString("open?new?Type?waveaudio?Alias?recsound",?"",?0,?0)
mciSendString("record?recsound",?"",?0,?0)
Label1.Text?=?"Recording..."
Label1.Visible?=?True
End?Sub
Private?Sub?Button2_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button2.Click
Button1.Enabled?=?True
Button2.Enabled?=?False
Button3.Enabled?=?True
mciSendString("save?recsound?c:\recsound.wav",?"",?0,?0)
mciSendString("close?recsound",?"",?0,?0)
MsgBox("File?Created:?C:\recsound.wav")
Label1.Text?=?"Stopped..."
Label1.Visible?=?False
My.Computer.Audio.Stop()
End?Sub
Private?Sub?Button3_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button3.Click
Label1.Text?=?"Playing..."
Label1.Visible?=?True
My.Computer.Audio.Play("c:\recsound.wav",?AudioPlayMode.Background)
End?Sub
End?Class
首先添加一個(gè)系統(tǒng)的語(yǔ)音COM組件的引用microsoft speech object library然后在程序中聲明一個(gè)語(yǔ)音類(lèi)dim RC As SpeechLib.SpSharedRecoContext這個(gè)類(lèi)有一些事件,如果你要處理它的一些事件,可以用withevent來(lái)聲明然后在窗體LOAD事件或你需要的地方先創(chuàng)建一個(gè)實(shí)例RC = New SpeechLib.SpSharedRecoContext當(dāng)一個(gè)RC被實(shí)例化后,系統(tǒng)就會(huì)運(yùn)行語(yǔ)音識(shí)別程序.前提是你的系統(tǒng)已經(jīng)正確安裝這個(gè)功能.一般默認(rèn)就已經(jīng)安裝好的.其次提醒一下,WIN7的語(yǔ)音識(shí)別比XP的好N倍.從閱讀到偵聽(tīng)都好很多.然后就可以在你需要閱讀的地方使用RC.Voice.Speak("hello 我", 11)11那里是一些枚舉,用來(lái)標(biāo)識(shí)系統(tǒng)用前臺(tái)還是后臺(tái)或其他方式來(lái)閱讀文字,簡(jiǎn)單的來(lái)說(shuō)就是閱讀的時(shí)候不會(huì)卡住你的程序.你可以選其他的枚舉來(lái)試試作用.以上為閱讀部分.如果需要程序聽(tīng)你說(shuō)話(huà),則需要聲明一個(gè)偵聽(tīng)類(lèi)dim RG As SpeechLib.ISpeechRecoGrammar在初始化時(shí)將之與上面的RC建立關(guān)系,此時(shí)則必須要用withevent來(lái)聲明上面的RC,因?yàn)樯婕半娔X聽(tīng)到你的語(yǔ)音后,會(huì)觸發(fā)一個(gè)事件,并將聽(tīng)到的內(nèi)容傳遞到該事件.其次,要讓系統(tǒng)聽(tīng)到的解析為命令,就必須準(zhǔn)備一個(gè)XML結(jié)構(gòu)的文件來(lái)保存那些固定的命令.如果電腦在XML文件中找不到那些固定命令或同時(shí)不屬于系統(tǒng)命令,電腦將會(huì)將其解釋為聽(tīng)寫(xiě).RG = RC.CreateGrammar '(0)
RG.CmdLoadFromFile("聽(tīng)到.xml", SpeechLib.SpeechLoadOption.SLODynamic)
RG.CmdSetRuleIdState(0, SpeechLib.SpeechRuleState.SGDSActive)然后寫(xiě)一個(gè)過(guò)程來(lái)處理聽(tīng)到的事件Private Sub 聽(tīng)到命令(ByVal StreamNumber As Integer, ByVal StreamPosition As Object, ByVal RecognitionType As SpeechLib.SpeechRecognitionType, ByVal 話(huà)語(yǔ) As SpeechLib.ISpeechRecoResult) Handles RC.Recognition RC.Voice.Speak("我聽(tīng)到了" 話(huà)語(yǔ).PhraseInfo.GetText, 11)End Sub以上為偵聽(tīng)部分.下面列一個(gè)XML的例文?xml version="1.0" encoding="gb2312"?
GRAMMAR LANGID="804"
RULE NAME="命令" TOPLEVEL="ACTIVE"
L
P打開(kāi)播放器
P上我的QQ
P關(guān)閉你自己 /L
/RULE
/GRAMMAR要讓系統(tǒng)正確地偵聽(tīng)到你說(shuō)的話(huà),前提你必須運(yùn)行語(yǔ)音識(shí)別程序并讓其激活到"正在聆聽(tīng)"狀態(tài).并且你必須有一個(gè)能正常使用的話(huà)筒而且保證話(huà)筒已經(jīng)打開(kāi).(廢話(huà)-_-|||)以上就是用VB.NET語(yǔ)音識(shí)別的最基本的一些操作.希望對(duì)你有幫助.更深入的內(nèi)容有興趣的話(huà)可以和我一起研究.
My.Computer.Audio.Play("SoundFile.wav")
SoundFile.wav是你要播放的聲音文件的路徑
分享文章:vb.net設(shè)計(jì)錄音程序,vb 錄音
網(wǎng)頁(yè)URL:http://www.chinadenli.net/article4/heigie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、品牌網(wǎng)站建設(shè)、Google、手機(jī)網(wǎng)站建設(shè)、服務(wù)器托管、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容