Powershell——如何播放不同的系统声音?

Powershell——如何播放不同的系统声音?

当我这样做时:

我听到了令人讨厌的哔哔声。

当我执行以下任何操作时,我期望听到不同的声音,但它们都是一样的。如何访问原生声音?

[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()

相关内容