Soundplayer用于编译应用程序

时间:2015-07-07 16:15:22

标签: c# compilation embedded-resource soundplayer

如何对代码进行硬编码以从项目中提取.wav文件?

我应该把.wav文件放在哪里?

http://i58.tinypic.com/npmjnn.jpg

我目前使用的代码是:

        private void timer2_Tick(object sender, EventArgs e)
    {
        SoundPlayer simpleSound = new SoundPlayer(@"c:\Windows\Media\dj.wav");
        simpleSound.Play();
    }

我只想要将路径@“c:\ Windows \ Media \ dj.wav”用于该内容文件夹...这样当我将应用程序部署到另一台计算机时,它就随之而来....

1 个答案:

答案 0 :(得分:1)

使用GetManifestResourceStream

var path = "MyApplicationNamespace.Content.dj.wav";
var assembly = Assembly.GetExecutingAssembly();

using( var soundStream = assembly.GetManifestResourceStream( path ) )
using( var soundPlayer = new SoundPlayer( soundStream ) )
{
    soundPlayer.Play();
}

传递给GetManifestResourceStream的字符串必须完全符合您的应用程序的根命名空间和wave文件所在的目录树。

您还需要在属性窗口中将wave文件的Build Action设置为Embedded Resource