成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

用VB6實現播放列表的自動生成

2010-08-28 10:49:18來源:西部e網作者:

    簡介:本文介紹了用VB6編寫一個小程序。讓程序根據每個文件夾下的mp3、wma的文件名稱來自動生成播放列表。

  很多朋友都是按照專輯名稱來分文件夾保存mp3文件,即同一張專輯的mp3存在一個的目錄下。但是隨著收藏的音樂專輯越來越多,我們很希望把每張專輯的mp3分別制成一個播放列表,方便欣賞音樂?墒,這種專門的軟件很少,而且大多不是免費的。其實我們可以用VB6來輕松實現這一功能。

  現在流行的播放列表文件格式有.m3u,.pls,.asx等,這里只探討這三種播放列表的自動生成辦法。

  一、實現原理

  1、用記事本打開一個非空的m3u播放列表文件,形如下面的格式

  File0=第一個mp3文件的路徑

  File1=第二個mp3文件的路徑

  …………

  這樣,可以用vb6的open、print等命令寫入文件,做成播放器能夠識別的.m3u格式的文件。同理,經過VB6的字符串處理后可以生成播放器能夠識別的.pls和.asx文件。

  2、利用vb6的FSO對象,實現對子目錄的遍歷(本文只遍歷一層子目錄)

  3、利用字符串處理函數完成對非MP3、WMA文件的過濾

  二、窗體設計

  本程序需要使用一個Label、一個TextBox文本框、三個Command按鈕,布局好的窗體見圖1。點擊Command1就可以生成.pls格式的列表,點擊Command2可以生成asx格式的播放列表,而點擊Command3會生成m3u格式的列表。


圖1



  TextBox讓用戶輸入mp3專輯目錄的路徑。

  注:以本程序為例mp3專輯目錄的路徑為D:\test\albumlist,在“albumlist”目錄下,每張專輯占用一個目錄,如“album1”目錄下為music1.mp3,music2.mp3……在你的電腦上運行本程序時,需要按照類似的目錄結構在text框中輸入目錄結構。

    三、代碼編寫

  為了調用fso,需要在“工具”-“引用”中選擇“Microsoft Scripting Runtimes”一項。

  Dim fso1 As New FileSystemObject

  Private Sub Command1_Click()

  Set fso2 = fso1.GetFolder(Text1.Text) ‘根據text1中輸入的路徑獲得目錄

  For Each f1 In fso2.SubFolders ‘遍歷母目錄下所有子目錄



   Open f1.Path + "\" + f1.Name + "_播放列表.asx" For Output As #1 ‘在子目錄下創建列表文件

   Print #1, "" ‘按照ASX文件格式寫入第一行

   Set fso3 = fso1.GetFolder(f1.Path)

   For Each f2 In fso3.Files ‘遍歷每個子目錄下的音樂文件

   tzm = LCase(Right(f2.Name, Len(f2.Name) - InStrRev(f2.Name, "."))) ‘獲得每個文件拓展名

   If tzm = "mp3" Or tzm = "wma" Then ‘過濾掉非mp3、wma文件

   Print #1, "
   End If

   Next

   Print #1, "
" ‘ 寫入列表結尾行

   Close #1 ‘ 關閉文件

   Next

  MsgBox ("指定文件夾下的 .asx 播放列表生成完畢")

  End Sub

  Private Sub Command2_Click()

  Set fso2 = fso1.GetFolder(Text1.Text) ‘根據text1中輸入的路徑獲得目錄

  For Each f1 In fso2.SubFolders ‘遍歷母目錄下所有子目錄

   Open f1.Path + "\" + f1.Name + "_播放列表.pls" For Output As #1 ‘在子目錄下創建.pls列表文件

Set fso3 = fso1.GetFolder(f1.Path)

   i = 0

   For Each f2 In fso3.Files ‘遍歷每個子目錄下的音樂文件

   tzm = LCase(Right(f2.Name, Len(f2.Name) - InStrRev(f2.Name, ".")))

   If tzm = "mp3" Or tzm = "wma" Then

   Print #1, "File" & i & "=" & f1.Path & "\" & f2.Name ‘將當前文件路徑按照asx的列表格式寫入到文件中

   End If

   i = i + 1 ‘計數器加一

   Next

   Close #1 ‘關閉文件

   Next

  MsgBox ("指定文件夾下的 .pls 播放列表生成完畢")

  End Sub

  生成.m3u播放列表文件的方法與生成,pls類似,這里不再給出,完整程序請參考源代碼

  下載程序源代碼

  編寫好代碼后按F5運行,輸入MP3所在目錄,點擊按鈕,即可自動生成對應格式的播放列表了。

  四、提升

  1、本文各張專輯的播放列表都保存在相應的目錄下,如果想讓所有列表文件保存在特定文件夾下如C盤,只需將Open f1.Path + "\" + f1.Name + "_播放列表.pls" For Output As #1

  一行更改為Open "c:" + "\" + f1.Name + "_播放列表.pls" For Output As #1

  2、本文程序只列舉輸入文件夾下一層子文件夾中的mp3文件并生成列表,大家可以想辦法讓他遍歷所有層的子文件夾。

  本程序在WindowsXp(SP2),VB6(SP6)下調試通過.

關鍵詞:VB6

贊助商鏈接:

主站蜘蛛池模板: 临沂市| 汤原县| 长垣县| 廊坊市| 新余市| 东乌珠穆沁旗| 五原县| 大名县| 神农架林区| 武冈市| 陵川县| 抚顺县| 诸暨市| 寿宁县| 西华县| 麻江县| 佛山市| 宣威市| 博爱县| 铁岭市| 昌图县| 平山县| 永仁县| 封丘县| 鸡泽县| 奇台县| 汉寿县| 新疆| 法库县| 崇左市| 扶风县| 乐东| 富裕县| 重庆市| 开阳县| 广南县| 怀集县| 深圳市| 五大连池市| 广安市| 嵊泗县|