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

标签 c# visual-studio-2012 audio

我遵循将msms嵌入到resx文件中的msdn准则,将一个嵌入的wav文件添加到了我的项目中。由于这是一个独立的应用程序,因此我不想在本地复制文件/安装任何内容。

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

这样可以编译,但是实际的声音不会播放,而是会播放Windows ding。

最佳答案

我能够重现您的问题。

以下为我解决了它:

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

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

您必须添加“using YOUR_APP.Properties”,而令我困扰的一件事是在解决方案资源管理器中的Resources文件夹下,文件显示为“speedwarning.wav”,但实际的资源名称只是“speedwarning” '。您可以检查文件“Resources.resx”以查看名称是...,或右键单击该项目,选择属性,然后在“资源”标签中找到资源(您可能必须将下拉菜单切换为“音频Ctrl + 4“)

关于c# - 在独立应用程序中播放嵌入式WAV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27909991/

相关文章:

android - Android中的多个声音按钮:通过按钮开始,停止和循环播放声音

c# - string.replace 不工作

c# - 如何将WPF效果颜色绑定(bind)到ControlTemplate的前景或背景

c# - 单元测试表以确定有多个记录

c++ - 我可以在 Visual Studio 2012 中编译和调试(运行)单个 C++ 文件吗? (如何避免创建太多项目)

android - 如何转换音频文件中的录制视频或现有视频?

C#:使用正则表达式验证文本框

javascript - 在 AngularJS 中使用 Wcf 数据服务

debugging - 在 Visual Studio (WP8) 中运行应用程序时启用编辑代码

c++ - 获取 wav 文件的帧和样本