0

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

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

我目前使用的代码是:

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

我只希望路径 @"c:\Windows\Media\dj.wav" 用于该内容文件夹......所以当我将应用程序部署到另一台计算机时,它会附带它......

4

1 回答 1

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 文件所在的目录树。

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

于 2015-07-07T16:29:49.543 回答