vbscript - 如何使用 vbscript 从目录中随机播放声音文件
问题描述
我试图让 windows 在 windows 开始时运行这个 vbs 文件,以便计算机可以用我制作并保存为 wav 文件的短语来迎接我。
我已经有一个 vbs 文件,它可以在其中播放声音文件,但我希望它从特定目录中随机选择一个,这样它就不会一遍又一遍地听到同样的声音,再加上一个惊喜因素,因为我没有每次启动电脑都不知道用哪个。
Dim oPlayer
Set oPlayer = CreateObject("WMPlayer.OCX")
' Play audio
oPlayer.URL = "C:\Users\david\OneDrive\Desktop\GLaDOS
wav\Edited\hello_david_youre_back_i_see.wav"
oPlayer.controls.play
While oPlayer.playState <> 1 ' 1 = Stopped
WScript.Sleep 100
Wend
' Release the audio file
oPlayer.close
提前感谢您的帮助。
解决方案
Option Explicit
Dim oFolderItems
Dim oFolderItem
Dim aFiles
Set oFolderItems = CreateObject("Shell.Application").NameSpace("C:\Users\david\OneDrive\Desktop\GLaDOSwav\Edited").Items
oFolderItems.Filter 64 + 128, "*.wav"
With CreateObject("Scripting.Dictionary")
For Each oFolderItem In oFolderItems
.Item(.Count) = oFolderItem.Path
Next
aFiles = .Items
End With
Randomize
With CreateObject("WMPlayer.OCX")
.URL = aFiles(Int(Rnd * UBound(aFiles) + 1))
.controls.play
Do While .playState <> 1
WScript.Sleep 100
Loop
.close
End With
推荐阅读
- python - 检查链表是否为空
- php - 我的比较运算符不适用于原子中的 PHP
- javascript - JavaScript 获取多个元素的文本值
- windows - 在 Windows 上使用 Symfony 运行 Mercure 时出错 - 本地/测试环境
- rxjs - 带有 Jest 案例的 RxJs 失败,但 `tap` 输出正确显示
- java - 如何安装 Java EE SDK?
- python - 在给定列表中按该顺序查找 0,0,1 的简单方法
- python - 使用python在硒中查找具有和相应值的元素
- javascript - 在已安装的 webapp 上禁用模式弹出窗口
- excel - ppt.CommandBars.ExecuteMso "PasteSourceFormatting" 方法在调试时工作正常,但是在宏运行时它会错过目标