天天看點

[VB.NET]MP3播放器

MP3播放器

執行個體說明

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

在本執行個體中,我們将制作一個MP3播放器。程式運作時,可以選擇MP3檔案,選擇左右聲道聲音,總共播放所需的時間等。程式運作結果如圖61-1所示。

圖61-1 運作結果

技術要點

l 注冊Mp3Play控件

l 獲得MP3檔案的播放總時間

l 設定左右聲道的聲音

l 獲得MP3檔案的總幀數

實作過程

■ 建立項目

打開Visual Studio.NET,選擇"建立項目",在項目類型視窗中選擇"Visual Basic項目",在模闆視窗中選擇"Windows應用程式",在名稱域中輸入"Mp3Play",然後選擇儲存路徑。單擊"确認"。

■ 添加控件

向目前窗體添加七個Label控件,其中四個作為說明之用,其餘三個分别用于顯示MP3檔案的播放時間、總幀數和檔案名稱。滑鼠右擊工具箱,選擇"自定義工具箱",在彈出的對話框中選擇Com元件,選中"Microsoft Common Dialog Control6.0"、"Microsoft Common Controls 6.0"、單擊"浏覽",選中檔案Mp3play.ocx,這時會在""頁籤中出現"Dialog-Media Mp3Play ActiveX Control Module"一項。添加一個CommonDialog控件、三個Slider控件和一個Mp3PlayCtrl控件 。

■ 設定屬性

切換到"屬性欄",對窗體上的控件設定屬性如表61-1所示。

表61-1 屬性表

控件 屬性 值

SldLeft TickStyle 2-sldBoth

Max 100

Orientation 1-ccOrientationVertical

SldRight 同SldLeft

LblBeijing Text 清華大學

lbltotaltime Autosize True

BackStyle 0-Transparent

Mp3play1 Visible False

其餘控件 根據界面設定己可

■ 添加代碼

' 選擇mp3檔案

Private Sub button1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles button1.Click

Dim totaltimes As Integer

AXCommonDialog1.ShowOpen()

If Len(AXCommonDialog1.FileName) = 0 Then Exit Sub

Err.Number = Mp3Play1.Open(AXCommonDialog1.FileName, "")

' 取得mp3檔案的總時間

totaltimes = Mp3Play1.TotalTime

lbltotaltime.Text = "播放時間:" & Str(totaltimes / 60000) & ":" & Str(Int((totaltimes Mod 60000) / 1000))

lblmp3name.Text = AXCommonDialog1.FileName

' 取得mp3檔案的左右聲道音量

leftvolume = Mp3Play1.GetVolumeLeft

rightvolume = Mp3Play1.GetVolumeRight

sldPos.Value = 0

' 取得mp3檔案的總幀數

sldPos.Max = Mp3Play1.FrameCount

lblframe.Text = "共" & sldPos.Max & "幀"

button2.Enabled = True

button3.Enabled = True

button4.Enabled = True

End Sub

' 開始播放

Private Sub button2_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles button2.Click

Mp3Play1.Play()

End Sub

' 暫停播放

Private Sub button3_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles button3.Click

Mp3Play1.Pause()

End Sub

' 停止播放

Private Sub button4_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles button4.Click

Mp3Play1.Stop()

End Sub

' 程式啟動時,必須進行注冊,否則不能正确播放

' 設定左右聲道預設值為中間值

Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load

Mp3Play1.Authorize("LightBringer", "1441658209")

SldLeft.Value = 50

SldRight.Value = 50

' 在沒有選擇mp3檔案之前,令播放、暫停、停止按鈕不可用

button2.Enabled = False

button3.Enabled = False

button4.Enabled = False

End Sub

' 改變左聲道的音量

Private Sub SldLeft_Change(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles SldLeft.Change

Mp3Play1.SetVolume(leftvolume * SldLeft.Value / 100, rightvolume * SldRight.Value / 100)

End Sub

' 改變播放mp3檔案的位置

Private Sub sldPos_Change(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles sldPos.Change

Mp3Play1.Seek(sldPos.Value)

Mp3Play1.Play()

End Sub

■ 運作結果

單擊菜單"調試|啟動"或單擊 圖示運作程式。

小結

在本執行個體中,我們通過使用Mp3play控件來播放MP3檔案,進而可以很友善地控制MP3檔案的播放。

繼續閱讀