2

特定のメッセージ ボックスが表示されたときに、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
4

2 に答える 2

3

スクリプトでMusicという名前のフォルダーがあると仮定すると、 ./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
'**********************************************************

この回答がメイン スクリプトの完成に役立つことを願っています ;)

于 2015-04-22T21:13:53.473 に答える
1

あなたはそのようなことを意味しましたか:

ここに画像の説明を入力

説明 : この Vbscript "PlayListSongs.vbs"は、フォルダーとそのサブフォルダーの曲をスキャンし、バックグラウンドで再生するためにテキスト ファイルにプレイリストを作成します。

更新:バックグラウンドでの音楽再生を停止するために、 「wscript.exe」プロセスを停止して強制終了する別の vbscript を追加します。

別の vbscript を追加して、フォアグラウンドで Windows Media Player を使用してプレイリストを再生します。

要するに、zip 3 vbscriptで見つけることができます

1-プレイリストをバックグラウンドで再生するには。

2-音楽を止める。

3-フォアグラウンドで Windows Media Player を使用して音楽を再生します。

ここからダウンロードしてテストできます

于 2015-04-21T03:20:32.230 に答える