top
Loading...
用VB實現隊列播放MP3

隊列播放MP3就是在文件列表框中一次選擇多個MP3文件,讓播放程序順序地播放選擇的MP3文件。這是一般的MP3播放器都有的功能,如何在VB程序設計中來實現隊列播放MP3的方法呢?

首先介紹一下程序中要用到的MediaPlayer控件。它不是VB的標準控件,而是Windows操作系統自帶的一個多媒體控件。大家可以在VB開發環境中的單擊“工程”→“部件”對話框中,添加MediaPlayer控件。如果要播放MP3,則至少要6.01以上版本的MediaPlayer控件(Windows98中自帶的就是這個版本)。如果在部件對話框中找不到MicroSoft Mediaplayer Control,那可能是你沒有安裝附件所致,這需要在系統中安裝相應的附件。

正因為使用了Windows自帶的控件,所以編出的程序的可移植性很好,更為重要的是,MediaPlayer控件可以播放包括AVI、MOV、WAV、MPG、MP3、M3U、QT等等在內的28種多媒體視頻、音頻格式的文件,可謂功能強大。

這個程序正是利用了MediaPlayer控件可以播放MP3和M3U文件的特性來實現隊列播放MP3的。我再說一下M3U文件,這種文件實際上是ASCII碼文件,如果你用記事本打開它,就可以發現文件的內容實際上就是多媒體文件的地址列表,能夠播放它的程序會順序播放文件里列出的多媒體文件。

下面就是程序的實現步驟:

首先建立一個新窗體Form1,添加DriveListBox,DirListBox,FileListBox各一個,Caption屬性分別設為Drive1,Dir1和File1,再添加CommandButton以及MediaPlayer控件各一個。然后編寫代碼如下:

Option Explicit
Private Sub Command1_Click()
Dim num As Integer
Dim filename As String
Dim filenum As Integer
Dim i As Integer
num=File1.ListCount
filenum=FreeFile
Open ″C:filelist.m3u″ For Output As #filenum
For i=0 To num-1
If File1.Selected(i) Then
filename=File1.Path+″″+File1.List(i)
End If
Print #filenum,filename
Next
Close #filenum
MediaPlayer1.filename=″C:filelist.m3u″
End Sub

Private Sub Dir1_Change()
File1.Path=Dir1.Path
End Sub

Private Sub Drive1_Change()
Dir1.Path=Drive1.Drive
End Sub

程序在Win98系統中調試通過。使用的時候只要選好MP3歌曲所在的文件夾,在文件框中用Shift或Ctrl鍵選擇多個文件即可實現隊列播放。

怎么樣,快去編寫自己的WinAmp吧。


作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗