十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
1.用Win32 API PlaySound
我們提供的服務(wù)有:做網(wǎng)站、網(wǎng)站制作、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、荊門(mén)ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的荊門(mén)網(wǎng)站制作公司
PlaySound位于"winmm.dll"中,可以根據(jù)輸入?yún)?shù)的不同,播放WAV類型的音樂(lè)。在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
具體還有很多常量,不一一列舉,下面是播放一個(gè)wav文件的例子
Dim mstrfileName As String = "c:\eagle2.wav"
PlaySound(mstrfileName, 0, SND_FILENAME)
注意上面的播放是非同步的,就是說(shuō)它并不會(huì)播放完畢才結(jié)束。如果把上面的代碼寫(xiě)在一個(gè)Button.Click的事件處理程序中,第二次點(diǎn)擊的時(shí)候它會(huì)打斷第一次的播放,重新開(kāi)始。
當(dāng)然我們也可以調(diào)用系統(tǒng)的聲音:
PlaySound("SystemStart", 0, SND_ALIAS Or SND_SYNC)
' 以同步的方式調(diào)用系統(tǒng)啟動(dòng)時(shí)候的聲音。
2. 調(diào)用媒體播放器控件
VB.NET中并沒(méi)有提供媒體播放器的.NET組件,沒(méi)辦法我們還是調(diào)用以前Com組件Windows Media Player。當(dāng)然除了聲音外,還可以播放視頻文件。
首先把媒體播放器控件加到工具欄中,調(diào)用還是簡(jiǎn)單的寫(xiě)一下吧:)
Private Sub playMediaFile(ByVal mediaFileName As String)
With MediaPlayer1
.Stop()
.FileName = "c:\mp3\愛(ài)不愛(ài)我.mp3"
.Play()
End With
End Sub
在.NET里,沒(méi)有托管的音樂(lè)播放器,用API只能播放WAV格式,對(duì)于MP3等形式的音頻文件,就要依賴于其他控件了,常用的就是
MediaPlayer。使用方法:
在工具箱上點(diǎn)右鍵,選擇“選擇項(xiàng)目(Choose Items)”,切到COM選項(xiàng)卡,找到 Windows Media Player, 勾選,確定
在t工具箱上,把剛才加入的MediaPlayer控件,拖放到窗體上
代碼:
WindowsMediaPlayer1.URL = "mp3文件路徑,支持網(wǎng)絡(luò)路徑"
WindowsMediaPlayer1.Ctlcontrols.play
基本就OK了,至于其他的操作諸如下一曲上一曲暫停停止,直接看 WindowsMediaPlayer1.Ctlcontrols. 里面的方法吧。
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