C# 播放wav文件,将字符串连接到调用文件

C# 播放wav文件,将字符串连接到调用文件,c#,visual-studio-2008,C#,Visual Studio 2008,我(对我的资源文件有些陌生之后)能够在我的项目中播放.wav文件: SoundPlayer player = new SoundPlayer(); player.Stream = Sounds.L1; Player.Play(); 这很好,但我想做的是能够将一个字符串连接在一起,然后调用该文件。.wav文件名的格式为“L”+int,int在1-99之间,即L1、L2…L99。所有不同的声音文件都在resx文件标题“声音”中 我怎样才能给他们打电话 我试图使用ResXResourceSet re

我(对我的资源文件有些陌生之后)能够在我的项目中播放.wav文件:

SoundPlayer player = new SoundPlayer();
player.Stream = Sounds.L1;
Player.Play();
这很好,但我想做的是能够将一个字符串连接在一起,然后调用该文件。.wav文件名的格式为“L”+int,int在1-99之间,即L1、L2…L99。所有不同的声音文件都在resx文件标题“声音”中

我怎样才能给他们打电话


我试图使用ResXResourceSet resxSet=new ResXResourceSet(“btc.Sounds”)ResXResourceSet加载资源文件,然后按照建议使用.getobject()。但是,如何指定嵌入资源文件的位置?如果我使用如上所述的路径,当它在我的bin/debug文件夹中查找时,我会收到一个错误,该文件夹是放置.exe的地方。如果我明确地指定了路径,我会得到一个访问错误,我非常好奇的一件事是,'Sounds.resx'文件是一个嵌入式资源,因此它应该'知道'它在哪里,并且不需要任何路径。。。我已经尝试了几乎所有的置换,包括使用Assembly.GetExecutionGassembly().GetManifestResourceStream(“btc_I_Cap.Sounds”)、@“…\Sounds”@“…\Resources”、@“btc.Sounds”“Sounds.resx”等等,到目前为止什么都没有。谁能帮我摆脱痛苦,这样我就可以说‘哦,是的,很明显,我为什么没有想到这一点!’

万圣节快乐


谢谢。

使用ResXResrouceSet调用声音文件,如下所示:

using (ResXResourceSet resxSet = new ResXResourceSet(resxFile))
{
    for (int i = 1; i <= 99; i ++)
    {
        SoundPlayer simpleSound = (SoundPlayer)resxSet.GetObject("L" + i.ToString());
        simpleSound.Play();
    }
}

使用(ResXResourceSet resxSet=new ResXResourceSet(resxFile))
{

对于(int i=1;i使用ResXResrouceSet调用声音文件,如下所示:

using (ResXResourceSet resxSet = new ResXResourceSet(resxFile))
{
    for (int i = 1; i <= 99; i ++)
    {
        SoundPlayer simpleSound = (SoundPlayer)resxSet.GetObject("L" + i.ToString());
        simpleSound.Play();
    }
}

使用(ResXResourceSet resxSet=new ResXResourceSet(resxFile))
{

for(int i=1;i ResXResourceSet resxSet=new ResXResourceSet(声音)。这给了我一个错误,很明显我误解了一些东西。声音是保存所有.wav文件的资源文件。Sais它是一个类型,但被用作变量。你应该如何定义resx文件的位置?我尝试了字符串“Sounds”,尝试将我的项目名称放在前面“my_project.Sounds”没有用。在这个问题上迷路了。我尝试了很多不同的路径名,但到目前为止我无法加载资源文件,或者应该说加载Sounds.resx文件,这很奇怪,因为它是嵌入的,而且就在那里……如何获得正确的路径(resxFile)对于资源文件?您确实需要指定resx文件的路径。您只能使用“Sounds.resx”“但只需确保在嵌入的resx文件的属性中,将“复制到输出目录”设置为“始终复制”或“更新”。如果不设置,则当程序在生成期间创建的新目录中找不到文件时,将出现“未找到文件”异常。ResXResourceSet resxSet=new ResXResourceSet(声音)。这给了我一个错误,很明显我误解了一些东西。声音是保存所有.wav文件的资源文件。Sais它是一个类型,但被用作变量。你应该如何定义resx文件的位置?我尝试了字符串“Sounds”,尝试将我的项目名称放在前面“my_project.Sounds”没有用。在这个问题上迷路了。我尝试了很多不同的路径名,但到目前为止我无法加载资源文件,或者应该说加载Sounds.resx文件,这很奇怪,因为它是嵌入的,而且就在那里……如何获得正确的路径(resxFile)对于资源文件?您确实需要指定resx文件的路径。您只能使用“Sounds.resx”“但只需确保在嵌入的resx文件的属性中,将“复制到输出目录”设置为“始终复制”或“更新”。如果不设置,则当程序在生成过程中创建的新目录中找不到文件时,将出现“未找到文件”异常。