隊列播放MP3就是在文件列表框中一次選擇多個MP3文件,讓播放程序順序地播放選擇的MP3文件。這是一般的MP3播放器都有的功能,如何在VB程序設(shè)計中來實現(xiàn)隊列播放MP3的方法呢?
首先介紹一下程序中要用到的MediaPlayer控件。它不是VB的標(biāo)準(zhǔn)控件,而是Windows操作系統(tǒng)自帶的一個多媒體控件。大家可以在VB開發(fā)環(huán)境中的單擊“工程”→“部件”對話框中,添加MediaPlayer控件。如果要播放MP3,則至少要6.01以上版本的MediaPlayer控件(Windows98中自帶的就是這個版本)。如果在部件對話框中找不到MicroSoft Mediaplayer Control,那可能是你沒有安裝附件所致,這需要在系統(tǒng)中安裝相應(yīng)的附件。
正因為使用了Windows自帶的控件,所以編出的程序的可移植性很好,更為重要的是,MediaPlayer控件可以播放包括AVI、MOV、WAV、MPG、MP3、M3U、QT等等在內(nèi)的28種多媒體視頻、音頻格式的文件,可謂功能強大。
這個程序正是利用了MediaPlayer控件可以播放MP3和M3U文件的特性來實現(xiàn)隊列播放MP3的。我再說一下M3U文件,這種文件實際上是ASCII碼文件,如果你用記事本打開它,就可以發(fā)現(xiàn)文件的內(nèi)容實際上就是多媒體文件的地址列表,能夠播放它的程序會順序播放文件里列出的多媒體文件。
下面就是程序的實現(xiàn)步驟:
首先建立一個新窗體Form1,添加DriveListBox,DirListBox,F(xiàn)ileListBox各一個,Caption屬性分別設(shè)為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系統(tǒng)中調(diào)試通過。使用的時候只要選好MP3歌曲所在的文件夾,在文件框中用Shift或Ctrl鍵選擇多個文件即可實現(xiàn)隊列播放。
怎么樣,快去編寫自己的WinAmp吧。
|