vb.net錄音編程 vb 錄音

vb.net怎么做中文語音識別程序

這就要調(diào)用API函數(shù)了

為海拉爾等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及海拉爾網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計制作、做網(wǎng)站、海拉爾網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

給你代碼吧

記得給點分啊

Private

Const

KeysM

=

H8000

Private

Declare

Function

GetAsyncKeyState

Lib

"user32"

(ByVal

vKey

As

Long)

As

Integer

Private

Sub

TextBox1_KeyDown(ByVal

sender

As

Object,

ByVal

e

As

System.Windows.Forms.KeyEventArgs)

Handles

TextBox1.KeyDown

Me.Text

=

e.KeyValue

If

e.KeyValue

=

Keys.ShiftKey

And

GetAsyncKeyState(160)

And

KeysM

Then

MsgBox("你按的是左SHIFT")

ElseIf

e.KeyValue

=

Keys.ShiftKey

And

GetAsyncKeyState(161)

And

KeysM

Then

MsgBox("你按的是右SHIFT")

End

If

End

Sub

vb.net怎么編程實現(xiàn)從音頻輸出口輸出指定頻率指定時長和占空比的單音信號。

1.用Win32 API PlaySound

PlaySound位于"winmm.dll"中,可以根據(jù)輸入?yún)?shù)的不同,播放WAV類型的音樂。在VB.NET中調(diào)用跟VB6中差不多:

先聲明:

Private Declare Auto Function PlaySound Lib "winmm.dll" (ByVal lpszSoundName As String, ByVal hModule As Integer, ByVal dwFlags As Integer) As Integer

Const SND_FILENAME As Integer = H20000

Const SND_ALIAS As Integer = H10000

Const SND_SYNC As Integer = H0

具體還有很多常量,不一一列舉,下面是播放一個wav文件的例子

Dim mstrfileName As String = "c:\eagle2.wav"

PlaySound(mstrfileName, 0, SND_FILENAME)

注意上面的播放是非同步的,就是說它并不會播放完畢才結(jié)束。如果把上面的代碼寫在一個Button.Click的事件處理程序中,第二次點擊的時候它會打斷第一次的播放,重新開始。

當然我們也可以調(diào)用系統(tǒng)的聲音:

PlaySound("SystemStart", 0, SND_ALIAS Or SND_SYNC)

' 以同步的方式調(diào)用系統(tǒng)啟動時候的聲音。

2. 調(diào)用媒體播放器控件

VB.NET中并沒有提供媒體播放器的.NET組件,沒辦法我們還是調(diào)用以前Com組件Windows Media Player。當然除了聲音外,還可以播放視頻文件。

首先把媒體播放器控件加到工具欄中,調(diào)用還是簡單的寫一下吧:)

Private Sub playMediaFile(ByVal mediaFileName As String)

With MediaPlayer1

.Stop()

.FileName = "c:\mp3\愛不愛我.mp3"

.Play()

End With

End Sub

vb.net 錄音&保存

A simple Sound Recorder~

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

想在vb.net的程序中有一個語音提示,該怎么寫

首先添加一個系統(tǒng)的語音COM組件的引用microsoft speech object library然后在程序中聲明一個語音類dim RC As SpeechLib.SpSharedRecoContext這個類有一些事件,如果你要處理它的一些事件,可以用withevent來聲明然后在窗體LOAD事件或你需要的地方先創(chuàng)建一個實例RC = New SpeechLib.SpSharedRecoContext當一個RC被實例化后,系統(tǒng)就會運行語音識別程序.前提是你的系統(tǒng)已經(jīng)正確安裝這個功能.一般默認就已經(jīng)安裝好的.其次提醒一下,WIN7的語音識別比XP的好N倍.從閱讀到偵聽都好很多.然后就可以在你需要閱讀的地方使用RC.Voice.Speak("hello 我", 11)11那里是一些枚舉,用來標識系統(tǒng)用前臺還是后臺或其他方式來閱讀文字,簡單的來說就是閱讀的時候不會卡住你的程序.你可以選其他的枚舉來試試作用.以上為閱讀部分.如果需要程序聽你說話,則需要聲明一個偵聽類dim RG As SpeechLib.ISpeechRecoGrammar在初始化時將之與上面的RC建立關(guān)系,此時則必須要用withevent來聲明上面的RC,因為涉及電腦聽到你的語音后,會觸發(fā)一個事件,并將聽到的內(nèi)容傳遞到該事件.其次,要讓系統(tǒng)聽到的解析為命令,就必須準備一個XML結(jié)構(gòu)的文件來保存那些固定的命令.如果電腦在XML文件中找不到那些固定命令或同時不屬于系統(tǒng)命令,電腦將會將其解釋為聽寫.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關(guān)閉你自己 /L

/RULE

/GRAMMAR要讓系統(tǒng)正確地偵聽到你說的話,前提你必須運行語音識別程序并讓其激活到"正在聆聽"狀態(tài).并且你必須有一個能正常使用的話筒而且保證話筒已經(jīng)打開.(廢話-_-|||)以上就是用VB.NET語音識別的最基本的一些操作.希望對你有幫助.更深入的內(nèi)容有興趣的話可以和我一起研究.

當前標題:vb.net錄音編程 vb 錄音
轉(zhuǎn)載源于:http://muchs.cn/article18/hjsedp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)商城網(wǎng)站、App設(shè)計、軟件開發(fā)、服務(wù)器托管、品牌網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管