如果路径不是C:/ Windows / Media,则无法播放声音

时间:2014-11-07 16:27:53

标签: c# winforms audio wav

我想问一下,如果路径与C:/Windows/Media/NameOfTheFile.wav不一样,为什么声音无法播放。

我有这个功能:

public class SystemManager
{
    static SoundPlayer _soundPlayer = new SoundPlayer();

    public static void SoundEffect(string _soundLocation)
    {
        _soundPlayer.SoundLocation = _soundLocation;
        _soundPlayer.Play();
    }
}

并将其称为:

void Login_Load(object sender, EventArgs e)
{
    SystemManager.SoundEffect("C:/Windows/Media/Savanna/Windows Exclamation.wav");
}

上面的代码不起作用,声音无法播放。

但是当我尝试下面的代码时,它确实会播放。

void Login_Load(object sender, EventArgs e)
{
    SystemManager.SoundEffect("C:/Windows/Media/Windows Exclamation.wav");
}

这是图片:

1 个答案:

答案 0 :(得分:1)

问题不在于位置 - 问题是您尝试播放的声音文件。当我运行相同的代码时,我得到以下异常:

  

Sound API仅支持播放PCM wave文件。

C:/Windows/Media中的声音是PCM,但子文件夹中的声音不是。您需要找到一种方法将它们转换为PCM或找到一种不同的方法来播放它们。