如何使用 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