用VB实现队列播放MP3

发表于:2007-07-14来源:作者:点击数: 标签:
队列播放MP3就是在文件列表框中一次选择多个MP3文件,让播放程序顺序地播放选择的MP3文件。这是一般的MP3播放器都有的功能,如何在 VB 程序设计中来实现队列播放MP3的方法呢? 首先介绍一下程序中要用到的MediaPlayer控件。它不是VB的标准控件,而是 Windows
   队列播放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.ltesting.net