利用vbscrip写音乐播放器

本文介绍了一个使用VBScript批量生成音乐播放列表的方法。通过简单的用户交互获取音乐文件路径,并递归遍历指定目录及其子目录下的所有MP3、WAV等格式的音频文件,将它们添加到播放列表中。此外,还提供了直接播放生成的.m3u文件的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<SCRIPTLANGUAGE="VBScript">
<!--

DimobjFo,objF,objAF,objFfile,objPath,objExt
FunctionFirst()
setobjFo=CreateObject("Scripting.FileSystemObject")'对象
setobjFfile=objFo.OpenTextFile("music.m3u",2,true)'打开文件

objPath
=Trim(Inputbox("输入音乐文件的路径!","输入路径!"))
IfobjPath=""Then
objPath
="c:MyDocumentsMyMusic"
EndIf
objFfile.WriteLine(
"#音乐文件列表--by天涯浪子")
objFfile.WriteLine(
"#EXTM3U")
Callfile_list(objPath)'开始列表
objFfile.WriteLine("#END")
Msgbox"成功生成音乐列表!"'列表成功
Window.location.Reload()
EndFunction


Functionfile_list(DirName)
setobjFS=objFo.GetFolder(DirName)
setobjASD=objFS.SubFolders
ForEachOneDirinobjASD
strFdName
=Trim(OneDir.Name)
'下面所列的文件夹不生成在列表中(系统文件或者隐藏文件)
IfstrFdName<>"Config.Msi"EQVstrFdName<>"RECYCLED"EQVstrFdName<>"RECYCLER"EQVstrFdName<>"SystemVolumeInformation"Then
'OneDirName=file_format(OneDir.Name)'对&进行转义
SDirName=DirName&""&OneDir.Name'下一个递归的地址
Callfile_list(SDirName)'调用递归
EndIf'结束判断
Next
setobjSF=objFS.Files
ForEachOneFileinobjSF'生成文件名
objExt=OneFile.Name'后缀名转换成小写字母
objExt=objFo.GetExtensionName(objExt)
objExt
=lcase(objExt)
IfobjExt="mp3"orobjExt="wav"orobjExt="wav"Then
objFfile.WriteLine(DirName
&""&OneFile.Name)
EndIf
Next
EndFunction

-->
</SCRIPT>
<form>
<inputonclick="First()"type="button"value="第一次运行吗?点我吧!^_^"/>
</form>
<objectid="MediaPlayer1"type="application/x-oleobject"height="68"standby="LoadingMicrosoftWindowsMediaPlayercomponents..."width="350"align="baseline"border="0"classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95">
<paramvalue="0"name="invokeURLs"/>
<paramvalue="music.m3u"name="FileName"/>
<paramvalue="1"name="ShowControls"/>
<paramvalue="0"name="ShowPositionControls"/>
<paramvalue="1"name="ShowAudioControls"/>
<paramvalue="1"name="ShowTracker"/>
<paramvalue="0"name="ShowDisplay"/>
<paramvalue="1"name="ShowStatusBar"/>
<paramvalue="0"name="AutoSize"/>
<paramvalue="0"name="ShowGotoBar"/>
<paramvalue="0"name="ShowCaptioning"/>
<paramvalue="1"name="AutoStart"/>
<paramvalue="0"name="PlayCount"/>
<paramname="CanScan:value="/>
<paramvalue="0"name="AnimationAtStart"/>
<paramvalue="0"name="TransparentAtStart"/>
<paramvalue="0"name="AllowScan"/>
<paramvalue="1"name="EnableContextMenu"/>
<paramvalue="0"name="ClickToPlay"/>
<paramvalue="datawindow"name="DefaultFrame"/></object>

版权声明:本文为博主原创文章,未经博主允许不得转载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值