当我这样做时:
我听到了令人讨厌的哔哔声。
当我执行以下任何操作时,我期望听到不同的声音,但它们都是一样的。如何访问原生声音?
[System.Media.SystemSounds]::Asterisk.Play()
[System.Media.SystemSounds]::Beep.Play()
[System.Media.SystemSounds]::Exclamation.Play()
[System.Media.SystemSounds]::Hand.Play()
[System.Media.SystemSounds]::Question.Play()
(请注意,我不想播放文件...我正在寻找播放 Windows 原生的声音)
答案1
这不是 Powershell 代码问题或功能。这是 Windows 操作系统设置。
您的问题是因为它们是默认声音,只是指向.wav
文件的指针。
如果您希望它们有所不同,您必须.wav
从它们所在的 Windows 文件夹中选择不同的文件。
目录:\Windows\Media
因此,至于您的评论***note, I do not want to play a file.***
,是的,您有;但是只有一个已经位于上述系统默认位置。
只需进入控制面板并选择Sounds
,或右键单击任务栏中的扬声器并选择声音。无论哪种方式,都可以根据需要手动更改。
您的选择就变成了这...
[System.Console]::Beep()
[System.Console]::Beep(1000,300)
或这个...
(New-Object System.Media.SoundPlayer $(Get-Random $(Get-ChildItem -Path "$env:windir\Media\*.wav").FullName)).Play()