使用SoundPlayer播放声音

5
我试图播放一个特定的声音。但是我似乎无法访问我在解决方案资源管理器中添加的文件。(我有一个名为“Sounds/”的文件夹,其中包含几个.wav音效文件)
当我将硬编码的文件路径指向我的硬盘上的固定位置时,它可以正常工作。当我将资源放在“bin/debug/”文件夹中时,它也可以正常工作(这是我使用AppDomain.CurrentDomain.BaseDirectory函数获得的最接近工作的相对路径)。
如何使我的SoundPlayer在使用我在解决方案资源管理器中添加的文件时正常工作?
2个回答

4

啊,这个嵌入确实在这里起了作用。经过一些管理,它变得相当容易处理。不过我想知道为什么它们不能直接从解决方案资源管理器中访问。 - Totumus Maximus
你可能有Java的经验,习惯于使用jar等。在.NET中,你要使用dll,这个过程是不同的。但没错,它可能会更容易些。 - Rafa
是的,我已经使用Java大约12年了,最近不得不更广泛地使用C#。相比Java,C#的文档似乎更难获取,但这可能只是我的感觉。 - Totumus Maximus

3
System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"c:\mywavfile.wav");
player.Play();

或者,您可以使用资源将声音文件嵌入到您的项目中。
System.Media.SoundPlayer player = new System.Media.SoundPlayer(Resources.Yourfile);
player.Play();

更新:将声音文件添加到资源中后,您可以通过文件名访问它。

我已确认第一个选项可行。但是我想要第二个选项。我似乎无法访问“Resources.Yourfile”。你能详细说明一下吗? - Totumus Maximus
当您将音频文件添加到资源中时,可以通过文件名访问它。 - Mihai Hantea
啊,好的,这似乎可以工作,但是在我按照其他答案中提供的方式嵌入后出现了问题。 - Totumus Maximus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接