Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 音效不起作用。无法加载。。。资产_C#_Monogame - Fatal编程技术网

C# 音效不起作用。无法加载。。。资产

C# 音效不起作用。无法加载。。。资产,c#,monogame,C#,Monogame,因此,每当我点击一个项目时,我都会尝试实现soundeffects。我已将.wav声音添加到我的内容文件夹中。 然后我在Game1类构造函数中键入以下代码: SoundEffect soundEffect; 之后,我在Initialize函数中编写了以下代码: soundEffect = Content.Load<SoundEffect>("Laser_Shoot25.xnb"); 当我尝试运行它时,它给了我以下错误 无法加载声音文件的名称 我在谷歌上查看过是否有其他人也有同样的

因此,每当我点击一个项目时,我都会尝试实现soundeffects。我已将
.wav
声音添加到我的内容文件夹中。 然后我在
Game1
类构造函数中键入以下代码:

SoundEffect soundEffect;
之后,我在Initialize函数中编写了以下代码:

soundEffect = Content.Load<SoundEffect>("Laser_Shoot25.xnb");
当我尝试运行它时,它给了我以下错误

无法加载声音文件的名称

我在谷歌上查看过是否有其他人也有同样的问题,但这些解决方案似乎都不适合我。
有人知道我还应该做些什么来实现这一点吗?

首先想到的是在内容对象初始化之前加载资产的可能性。请在加载资产的地方发布相关代码,以了解是否存在这种情况(通常是
initialize
LoadContent
您的
Game1
类的方法)

另一种可能是资产文件格式。 我不是最新的Monogame,因为我停止在3.2版中使用它,但是如果在这方面事情保持不变;然后,为了使用声音和精灵,您需要将资源添加为导出的
xnb
文件,该文件是使用实际的XNA内容管道创建的

我有一篇博客文章,详细解释了如何做到这一切,可以找到

首先,您需要在您的计算机上安装XNA(在同一篇文章中,它解释了如果您使用Windows 8和/或Visual Studio 2012/2013,如何安装XNA)

然后,只需按照文章中详述的步骤进行操作:

所以,一旦我们有了这个,让我们创建一个新的Windows游戏项目(它有 成为一个游戏,而不仅仅是一个我们需要访问的内容项目 游戏输出目录)

完成此操作后,我们可以将音效/实例添加到 右键单击,选择“添加现有项”,然后单击 在文件夹资源管理器中选择它

继续之前,请确保将声音的属性设置为 所需(在我的情况下,我将使用SoundEffect,因此我需要指定 它位于内容处理器字段中):

剩下的就是将xnb文件添加到 单一游戏项目

soundEffect.Play();