当msgbox出现时,从VBScript中播放声音文件

时间:2015-04-21 01:26:47

标签: audio vbscript pathname

我正在尝试在出现某个msgbox时从VBScript中播放声音文件。唯一的问题是我会将其发送到其他地方并且接收它的人将不会具有与我想要播放的音频文件相同的路径名。我正在考虑将我想要使用的所有声音文件放在与脚本相同的文件夹中,然后发送该文件夹,但我不知道如何确保声音文件将播放。

所以我想最大的问题是如何推广路径名,这样任何人都可以从任何机器的脚本中听到文件。

到目前为止,这是我的代码:

    if intAnswer3 = vbyes then
        strSoundFile = "C:\pathname"
        Set objShell = CreateObject("Wscript.Shell")
        strCommand = "sndrec32 /play /close " & chr(34) & strSoundFile & chr(34)
        objShell.Run strCommand, 0, True

2 个答案:

答案 0 :(得分:3)

假设您的脚本中有一个名为音乐的文件夹,因此您可以使用这样的相对路径 ./ Music / Matrix.mp3

所以你可以这样试试:

Option Explicit
Dim Msg,Question,PathSound
Msg = "Did you want to hear some music ?"
PathSound = "./Music/Matrix.mp3" 'Relative Path
Question = MsgBox(Msg,VbQuestion+VbYesNo,Msg)
If Question = VbYes Then
    Call Play(PathSound)
Else
    Wscript.Quit()
End If
'**********************************************************
Sub Play(SoundFile)
Dim Sound
Set Sound = CreateObject("WMPlayer.OCX")
Sound.URL = SoundFile
Sound.settings.volume = 100
Sound.Controls.play
do while Sound.currentmedia.duration = 0
    wscript.sleep 100
loop
wscript.sleep(int(Sound.currentmedia.duration)+1)*1000
End Sub
'**********************************************************

如果您想在线播放音乐,那么您可以这样做:

Option Explicit
Dim Msg,Question,PathSound
Msg = "Did you want to hear some music ?"
PathSound = "http://hackoo.alwaysdata.net/Matrix.mp3"
Question = MsgBox(Msg,VbQuestion+VbYesNo,Msg)
If Question = VbYes Then
    Call Play(PathSound)
Else
    Wscript.Quit()
End If
'**********************************************************
Sub Play(SoundFile)
Dim Sound
Set Sound = CreateObject("WMPlayer.OCX")
Sound.URL = SoundFile
Sound.settings.volume = 100
Sound.Controls.play
do while Sound.currentmedia.duration = 0
    wscript.sleep 100
loop
wscript.sleep(int(Sound.currentmedia.duration)+1)*1000
End Sub
'**********************************************************

我希望这个答案可以帮助您完成主要脚本;)

答案 1 :(得分:0)

你的意思是这样的:

enter image description here

说明: 此Vbscript " PlayListSongs.vbs" 扫描到文件夹及其子文件夹中的歌曲,并在文本文件中创建播放列表,以便在后台播放。

更新:我添加了另一个vbscript来停止并杀死" wscript.exe" 进程,以便停止在后台播放音乐。

我添加了另一个vbscript来播放前台播放Windows Media Player的播放列表。

总之,你可以找到zip 3 vbscript

1-在后台播放播放列表

2-停止音乐。

3-使用前景中的Windows Media Player播放音乐。

所以你可以下载它from here and test it