【发布时间】:2019-01-24 10:29:38
【问题描述】:
我正在尝试播放位于我项目内文件夹中的 .Wav 文件。
声音文件位于“Resource/Sounds/slot_roll_on.Wav”
资源文件夹是我自己创建的文件夹,在项目的根目录下。
这是我用来运行 .wav 文件的代码
Assembly a = Assembly.GetExecutingAssembly();
Stream s = a.GetManifestResourceStream("kisscam.g.resources.Resources.Sounds.slot_roll_on.wav");
SoundPlayer snd = new SoundPlayer(s);
snd.Play();
我无法播放声音,我不断收到 windows 声音,因为找不到声音。
在堆栈溢出的某个地方,我找到了这段代码来找到正确的汇编路径。
Assembly a = Assembly.GetExecutingAssembly();
string[] resourceNames = Assembly.GetExecutingAssembly().GetManifestResourceNames();
int i;
for (i = 0; i < resourceNames.Length; i++)
{
MessageBox.Show(resourceNames[i]);
}
输出这两条路径
kisscam.Properties.Resources.resources
和
kissscam.g.resources
我尝试使用它们,但它们都不起作用。
有人知道我做错了什么吗?
【问题讨论】:
-
试着修改你的问题:)
-
是的,对不起,我的英语不是很好。你不明白什么?
-
使用 ildasm.exe 并查看 .mresource 名称的程序集清单。
-
看起来您的 WAV 文件实际上并未作为资源添加。确保文件已添加到您的项目中,并且构建操作显示“嵌入式资源”
-
@Spedax,我明白了,试着格式化你的问题,这只是一个练习:)
标签: c#