在独立应用程序中播放嵌入式 WAV

本文关键字:嵌入式 WAV 播放 独立 应用程序 | 更新日期: 2023-09-27 18:37:19

我按照 msdn 准则将嵌入的 wav 文件添加到我的项目中,将其嵌入到 resx 文件中。 由于这是一个独立的应用程序,我不想在本地复制文件/安装任何东西。

System.Reflection.Assembly a = System.Reflection.Assembly.GetExecutingAssembly();
System.IO.Stream s = a.GetManifestResourceStream("myApp.mySound");
SoundPlayer player = new SoundPlayer(s);
player.Play();

这将编译,但实际声音不播放,而是播放窗口丁。

在独立应用程序中播放嵌入式 WAV

我能够重现您的问题。

以下为我解决了它:

System.IO.Stream s = Resources.ResourceManager.GetStream("speedwarning");
SoundPlayer player = new SoundPlayer(s);
player.Play();

我的文件是"speedwarning.wav",我将其添加为嵌入式资源。

您必须添加"使用YOUR_APP。属性",让我绊倒的一件事是,在解决方案资源管理器中,在"资源"文件夹下,该文件显示为"速度警告.wav",但实际的资源名称只是"速度警告"。您可以检查文件"Resources.resx"以查看名称应该是什么...或右键单击项目,选择属性,然后在"资源"选项卡中找到资源(您可能需要将下拉列表切换到"音频 Ctrl+4")