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檔案的播放。