當前位置:編程學習大全網 - 源碼下載 - 用VB6.0制作壹個MP3播放器,給出代碼謝謝

用VB6.0制作壹個MP3播放器,給出代碼謝謝

用VB制作壹個簡單的MP3播放器

用VB制作壹個簡單的MP3播放器 利用API函數[mciSendString]可以輕松實現MP3音樂文件的播放。下面這段程序實現了MP3播放的大部分常規操作,對其稍加修改,做壹個100KB大小的MP3播放器輕而易舉

啟動VB程序,在窗體上放置6個命令按鈕,三個標簽,壹個公用對話框、壹個進度條、壹個狀態欄和壹個計時器,窗本的布置請參考附圖按鈕"Open MP3 File"是用來打開對話框選擇MP3文件,其他5個按鈕分別為Play(播放)、Pause(暫停)、Stopplay(停止播放)、Back(向後跳躍)、Prew(向前跳躍)。Label1用來表示歌曲當前時間;label2放在時度條的最左邊,Caption屬性為"00:00";lable3放在時度條的右邊,用來表示歌曲總長。下面就可以編寫代碼了。首先在窗體的"通用聲明"部分聲明函數

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

Dim mfn As String

下面就是各個對象的代碼了:

Private Sub Form_load()

mfn = ""

play.Enabled = False

pause.Enabled = False

stopplay.Enabled = False

back.Enabled = False

prew.Enabled = False

Timer1.Enabled = False

Timer1.Interval = 500

End Sub

Private Sub open_Click()

On Error GoTo err

With CommonDialog1

.CancelError = True

.Filter = "音樂文件|*.mp3;*.wav;*.mid"

.Flags = cdlOFNNoChangeDir And cdlOFNPathMustExist

.Action = 1

stopplay_Click '停止按鈕同時可以設備初始化

mfn = .FileName '這個程序中文件名壹定不能帶空格

Form1.Caption = .FileName

play.Enabled = True

End With

play_Click

Exit Sub

err:

End Sub

Private Sub play_Click()

On Error Resume Next

Dim t As Long

t = mciSendString("open " + mfn, 0&, 0, 0) 'Open後邊的空格壹定不能丟

Dim ret As String * 128

t = mciSendString("status " + mfn + " length", ret, 128, 0)

'顯示歌曲總長

ret = Left(ret, 8)

If ret <> "" Then

ProgressBar1.min = 0

ProgressBar1.Max = Val(ret)

Label3.Caption = Gettime(Val(ret))

End If

play.Enabled = False

pause.Enabled = True

stopplay.Enabled = True

back.Enabled = True

prew.Enabled = True

t = mciSendString("status " + mfn + " mode", ret, 128, 0)

'得到設備的當前狀態,是播放還是暫停等等

ret = Left(ret, 8)

StatusBar1.Panels(1).Text = ret

'在狀態欄顯示播放狀態

t = mciSendString("play " + mfn + " form " + Str(ProgressBar1.Value), 0&, 0, 0)

'開始播放

Timer1.Enabled = True

End Sub

Private Sub pause_Click()

t% = mciSendString("pause " + mfn, 0&, 0, 0)

'發出暫停的命令

play.Enable = True

pause.Enabled = False

stopplay.Enabled = True

back.Enabled = False

prew.Enabled = False

End Sub

Private Sub stopplay_Click()

t% = mciSendString("stop " + mfn, 0&, 0, 0)

t% = mciSendString("close " + mfn, 0&, 0, 0)

'停止播放

play.Enabled = True

pause.Enabled = False

stopplay.Enabled = False

back.Enabled = False

prew.Enabled = False

End Sub

Private Sub back_Click()

t% = mciSendString("play " + mfn + " from " + Str(ProgressBar1.Value - (ProgressBar1.Max \ 10)), 0&, 0, 0) '向後跳壹小段再播放

End Sub

Private Sub prew_Click()

t% = mciSendString("play " + mfn + " from " + Stri(ProgressBar1.Value + (ProgressBar1.Max \ 10)), 0&, 0, 0) '向前跳壹小段再播放

End Sub

Private Sub Timer1_Timer()

Dim t As Long

Dim ret As String * 128

t = mciSendString("status " + mfn + " position", ret, 0, 0)

'得到當前播放位置

ret = Left(ret, 8)

ProgressBar1.Value = Val(ret)

Label1.Caption = Gettime(Val(ret))

'顯示歌曲當前時間

If ProgressBar1.Value = ProgressBar1.Max Then

stopplay_Click

End If

t = mciSendString("status " + mfn + " mode", ret, 128, 0)

ret = Left(ret, 8)

StatusBar1.Panels(1).Text = ret

End Sub

Private Sub Form_Unload(Cacel As Integer)

t% = mciSendString("stop " + mfn, 0&, 0, 0)

t% = mciSendString("close " + mfn, 0&, 0, 0)

End Sub

Private Function Gettime(position As Long) As String

'這個函數的功能是把以長整型表示的時間轉換為電子鐘式的"**:**"

Dim min, sec

min = position / 1000

min = min / 60

sec = min - Int(min)

min = Int(min)

sec = 60 * sec / 100

sec = Int(sec * 100)

Gettime = Str(min) + ":" + Str(sec)

End Function

  • 上一篇:哪些平臺可以查看藥品追溯?
  • 下一篇:怎樣才可以自學Python呢
  • copyright 2024編程學習大全網