vb.net+語音播放 vb語音播報

我用二進制讀取了聲音文件,VB或VB.net如何播放二進制聲音數(shù)據(jù),請高手賜教!

不明白你為什么要二進制讀取聲音文件,VB可以直接調(diào)用API播放聲音文件,不需要你二進制來讀取聲音文件的。

西華ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

Private

Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA"

(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub PlayWavFile(strFileName As String, PlayCount As Long, JianGe As Long)

'strFileName 要播放的文件名(帶路徑)

'playCount 播放的次數(shù)

'JianGe 多次播放時,每次的時間間隔

If Len(Dir(strFileName)) = 0 Then Exit Sub

If PlayCount = 0 Then Exit Sub

If JianGe 1000 Then JianGe = 1000

DoEvents

sndPlaySound strFileName, 16 + 1

Sleep JianGe

Call PlayWavFile(strFileName, PlayCount - 1, JianGe)

End Sub

Private Sub Form_Click()

PlayWavFile "C:\aaa.wav", 1, 1000 '參數(shù):播放文件,播放次數(shù),播放間隔

End Sub

vb.net做音頻播放器,如何消除對話框

有點復雜,如果是Excel,有Application.DisplayAlerts=False'這是Excel阻止警告

我粗看了下MediaPlayer沒有提供類似的接口,試著用消息捕獲的方法看看

Protected?Overrides?Sub?WndProc(ByRef?m?As?System.Windows.Forms.Message)?'消息捕獲

If?m.Msg?=?H999?Then?'這里的值要你自己去測試出來(就是彈出對話框時的值)

SendKeys.Send("{ENTER}")?'發(fā)送回車鍵

End?If

MyBase.WndProc(m)

End?Sub

vb.net中如何播放聲音,是要什么控件嘛?

My.Computer.Audio.Play("SoundFile.wav")

SoundFile.wav是你要播放的聲音文件的路徑

vb.net中如何控制MP3播放

先定義api函數(shù)

Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrRetumString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Private Sub mnu_Music_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnu_Music.Click

mciSendString("open c:\1.mp3 alias mp3", Nothing, 0, IntPtr.Zero)

mciSendString("Play mp3", Nothing, 0, IntPtr.Zero)

End Sub

上面2行代碼就可以播放了,測試通過。

就是沒有其它功能,自己加上吧,

如:關(guān)閉 mciSendString("close mp3",Nothing,0,intPtr.Zero)

等等

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的程序中有一個語音提示,該怎么寫

首先添加一個系統(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語音播報
分享地址:http://muchs.cn/article28/hheicp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供域名注冊、定制網(wǎng)站網(wǎng)頁設計公司、外貿(mào)網(wǎng)站建設App設計、云服務器

廣告

聲明:本網(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)

搜索引擎優(yōu)化