System.Media.SoundPlayer是否可能无法播放 c:\ Windows \ Media 中找到的Windows系统声音?

我有代码:

using (var soundPlayer =
       new SoundPlayer(@"c:\Windows\Media\Landscape\Windows Notify.wav"))
{
    soundPlayer.Play();
}

但是,当我运行此代码时,我得到了错误:
Sound API only supports playing PCM wave files.

我想念什么吗?有没有办法从WPF应用程序播放这些文件? (无需将它们转换为PCM)

最佳答案

SystemSounds类包含以下预定义的系统声音:

星号

感叹



因此,例如,播放停止:

System.Media.SystemSounds.Hand.Play();

所有其他声音都需要您从注册表中读取所需的声音,并使用以下代码播放它:
SoundPlayer simpleSound = new SoundPlayer(@"c:\Windows\Media\Landscape\Windows Notify.wav");

关于c# - 使用System.Media.SoundPlayer播放Windows系统声音,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22123899/

10-09 00:15