如何使用vbscript从目录随机播放声音文件

时间:2019-07-12 17:04:59

标签: 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

谢谢您的帮助。

1 个答案:

答案 0 :(得分:2)

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
相关问题