我想问一下,如果路径与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");
}
这是图片:
答案 0 :(得分:1)
问题不在于位置 - 问题是您尝试播放的声音文件。当我运行相同的代码时,我得到以下异常:
Sound API仅支持播放PCM wave文件。
C:/Windows/Media
中的声音是PCM,但子文件夹中的声音不是。您需要找到一种方法将它们转换为PCM或找到一种不同的方法来播放它们。