web-dev-qa-db-ja.com

Windowsの行コマンドからサウンド(多分WAV?)を再生する

Windowsコマンドを使用してサウンド(CPUビープ音またはwav、何でも構いません)を再生するにはどうすればよいですか?

27
Thiago Belem

これはPowerShellでネイティブに実行できます。 PowerShellはWindows Vista以降に含まれており、古いバージョンについてはMicrosoftからダウンロードできます。


Waveファイル

PowerShellを使用して System.Media.SoundPlayer .NETクラスをロードできます。これは、waveファイルの再生に使用できます。

(New-Object Media.SoundPlayer "C:\WINDOWS\Media\notify.wav").Play();

必要に応じて、これを通常のコマンドラインから実行できます。

powershell -c (New-Object Media.SoundPlayer "C:\Windows\Media\notify.wav").PlaySync();

(2番目の例ではPlaySyncが使用されていることに注意してください。標準の非同期再生は、このように起動するとPowerShellプロセスが閉じることによって中断されるためです)

そして、最初の5秒の音だけを再生したい場合は、次のようにします。

powershell -c (New-Object Media.SoundPlayer "C:\Windows\Media\notify.wav").Play(); Start-Sleep -s 5; Exit;

ビープ

ビープ音は、通常のコマンドラインでecho ^G^GはBELを表し、ASCII文字7、 CtrlG)、他の回答で説明されています。完全を期すために、PowerShellメソッドを次に示します。

echo ^G

はい、cmdと同じです。 PowerShellのechoWrite-Hostのエイリアスです(つまり、同じことを意味します)。これは、画面に何かを表示します(BELの場合はWindows通知音をトリガーします)。

PowerShellの代替方法は、リテラルBEL文字を挿入するのではなく、BELにエスケープシーケンスを使用することです。 CtrlG

echo `a

`はPowerShellのエスケープ文字で、その後の文字の意味を変更します。エスケープされたaはBELを示します。このアプローチの利点は、スクリプトに入力したときの方が簡単で見やすいことです。

これをバッチファイルで実行するには(再度、Vista以降):

powershell -c echo `a

ソース

51
Bob
echo ^G

どこ ^Gは CTRL + G または Alt + 7 キーパッドで。

11
theMike

回避策(ある種の):

1)音声ファイルを実行する

2)トラックが終了するまで待ち(私の場合は5秒)、メディアプレーヤーを閉じます

start wmplayer "C:\Windows\Media\Alarm10.wav" && timeout 5 && taskkill /im wmplayer.exe
5
yuliskov

VLCをインストールします。次のコマンドを使用します。それは本当に速く起動します。これは、私がWindows 7 b/c wmplayerで使用したもので、ロードに時間がかかり、/ closeオプションがwmplayerから削除されました。

vlc.exe --play-and-exit audio.wav
3
Mark Ribau

(古いスレッドである間、人々は検索でそれを見つけるでしょう)。誰かがすでにVLCを推奨しているようです。 「c:\ Program Files(x86)\ videolan\vlc\vlc.exe」--qt-start-minimized --play-and-exit "c:\Program Files(x86)\ videolan\vlc\Windows Exclamation.wav "

前のコメントへの主な追加は--qt-start-minimizedですパスと引用文字は典型的な使用法を説明するためだけのものです。 XP、7、10ではこれを変更せずに使用しました。 Vistaと8.xも動作することを期待しています。

2
pol098

普通のビープ音で問題がない場合は、値7の文字、いわゆる ベル文字 をエコーし​​ます。ただし、ビープ音をオフにできることに注意してください。

他に何かしたい場合は、そのトリックを実行するアプリケーションを起動する必要があります。

1
Michael Madsen

サウンドファイル(またはサウンドID)を引数として取り、 PlaySound を呼び出す簡単なコンソールアプリケーションを作成できます。

1
John Knoeller

非常に軽量なソリューションはcmndPlayWAV.jarで、これはLinuxおよびOS/Xでも動作します。パラメータが指定されていない場合は組み込みのサウンドがあり、.wavファイルへの完全なパスを指定できます。ちなみに、Windows Recorderで使用する音声メッセージ.wavをいつでも作成できます。

1
budrow1138

fmedia を使用して、Windows端末からサウンドファイルを再生できます。

fmedia file.mp3

このコマンドは、フォアグラウンドでfile.mp3の再生を開始し、ファイルの再生が終了すると終了します。

バックグラウンドで実行する場合は、--backgroundスイッチをコマンドに追加します。

fmedia file.wav --background

このコマンドは、バックグラウンドで新しいプロセスを開始し、コンソールからすぐに切り離します。

fmediaはポータブルアプリケーション(インストールなしで動作)であり、システムリソースを非常に少量消費します。また、起動時間は瞬時です。

追伸コマンドfmedia.exe --installを使用して%PATH%環境変数に追加します。それ以外の場合は、フルパスで実行する必要があります。 D:\fmedia\fmedia.exe

0
def

XP私はこれをします

start /min mplay32 /play /close %WINDIR%\media\tada.wav

理想的ではありませんが、とても簡単で機能します。

これにはmplayerを使用します。ほぼすべてのメディアファイルを再生できるため、少しやりすぎです。最近のWindowsビルドは、2013年現在 spirton にあります。使用例:

mplayer c:\windows\media\chimes.wav

Mplayer.exeを[〜#〜] path [〜#〜]に追加する必要があります( PATHおよびその他の環境変数とは、そしてそれらをどのように設定または使用できますか? または これを行うには、コマンドラインを介してシステムのPATH変数にエントリを永続的に追加するにはどうすればよいですか?

0
n611x007