已编译应用程序的声音播放器

问题描述 投票:0回答:1

我如何对代码进行硬编码以从项目中提取.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”用于该内容文件夹...因此,当我将应用程序部署到另一台计算机时,它便随它一起提供了。...

c# compilation embedded-resource soundplayer
1个回答
1
投票

使用GetManifestResourceStream

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(); } 的字符串必须与您的应用程序的根名称空间以及wave文件所驻留的目录树完全匹配。

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

© www.soinside.com 2019 - 2024. All rights reserved.