我在win2000 server+vb6下用mediaplayer6.4做一个多媒体播放器,请问当我选取了若干个mp3文件后,如何实现这些文件的顺序播放?我在网上找了一个例子,如下所示:
    首先建立一个新窗体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
但我不知如何建立filelist.m3u文件,而且这个程序好象还有一些错误,总之我无法调试成功。请高手指点。
 

解决方案 »

  1.   

    你可以自己写一个m3u文件,每首歌曲的路径是一行
    然后加入一个list控件,然后打开这个m3u,用line input读取,读取一行list增加一个内容,然后进行播放,播放完后,播放List1.List(List1.ListIndex + 1),也就是下一首。
      

  2.   

    With CommonDialog1'打开一个m3u文件,并把每行加入到list控件中
                    .Filter = "列表文件(*.m3u;*.pls)|*.m3u;*.pls"
                    .Flags = cdlOFNFileMustExist
                    
    End With
               CommonDialog1.ShowOpen
                Dim aslist As String
                Open CommonDialog1.FileName For Input As #1
            Do Until EOF(1)
              Line Input #1, aslist
              List1.AddItem aslist
            loop'播放我用api进行的,用控件也一样当播放完后就播放List1.List(List1.ListIndex + 1)就可以实现连续播放了
      

  3.   

    m3u文件的建立,用fso更好,可是我没接触过,我用open语句进行的,最重要的是每首歌曲的分割,可以用回车代表一首歌的路径结束,也可以用一些特殊的字符如chr(0)等等,反正你定义的分割,等你读取的时候要知道怎么样才是一首歌的路径。在简单的就是用记事本写一个路径+歌名(要带扩展名),然后保存为m3u文件,就可以了。