通过 Windows 行命令播放声音(可能是 WAV?)

通过 Windows 行命令播放声音(可能是 WAV?)

如何使用 Windows cmd 播放声音(CPU 蜂鸣或 wav,无论什么)?

答案1

现在不在 Windows 中,为了测试这个可能的解决方案,但尝试:“启动”

我认为它将使用 Windows 与“.wav”文件关联的程序打开 wav 文件。

请注意,这只是猜测 - 如果这个方法不管用,使用 Windows 的人可能会给你一个更好的解决方案

答案2

您可以使用 PowerShell 本地执行此操作。PowerShell 包含在 Windows Vista 及更高版本中,旧版本可从 Microsoft 下载。


波形文件

PowerShell 可用于加载System.Media.SoundPlayer.NET 类,可用于播放波形文件。

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

如果需要,您可以从普通命令行运行它:

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

(请注意,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,插入Ctrl+ G) 轻松发出蜂鸣声,如其他答案所述。为了完整起见,以下是 PowerShell 方法:

echo ^G

是的,它与PowerShell 中cmd的 相同。echo是 的别名(即意思相同)Write-Host,它会在屏幕上显示一些内容(或者在 的情况下触发 Windows 通知声音BEL)。

PowerShell 中的另一种方法是使用 BEL 的转义序列,而不是使用Ctrl+插入文字 BEL 字符G

echo `a

`是 PowerShell 的转义字符,用于修改其后字符的含义。转义字符a表示 BEL。这种方法的优点是输入到脚本中时更容易且更明显。

要在批处理文件中运行此操作(同样,Vista 或更高版本):

powershell -c echo `a

来源

答案3

echo ^G

^G在键盘上哪里。CTRL + GAlt + 7

答案4

解决方法(某种):

1)运行音频文件

2)等到曲目结束(我的情况是 5 秒)并关闭媒体播放器

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

相关内容