C#中的声音,将音频文件放在哪里?

Posted

技术标签:

【中文标题】C#中的声音,将音频文件放在哪里?【英文标题】:Sound in C#, where to put the audio files? 【发布时间】:2017-10-13 18:30:25 【问题描述】:

所以我有一个简单的 C# 程序,我想播放一个名为“m.wav”的声音文件。我将音频文件添加为“现有项目”(在 VS 中),它与类、program.cs 等(主文件夹/根目录)位于同一文件夹中。

由于它与其余文件位于同一目录中,因此我尝试使用以下代码调用音频文件;

System.Media.SoundPlayer player = new System.Media.SoundPlayer(); player.SoundLocation = Environment.CurrentDirectory + @"\m.wav"; player.PlayLooping();

但是找不到音频文件。我有一个完全相同的示例文件,但它确实有效。我做错了什么?

【问题讨论】:

不应该和这个项目的EXE在同一个目录吗? exe文件从bin\Debugbin\Release文件夹运行 是的,因为当您在 Visual Studio 调试会话中运行应用程序时,您的代码将从目录 BIN\DEBUG 运行。您应该将文件复制到输出目录的属性设置为始终复制 为您的最终用户构建一个安装程序 或者添加到你的资源文件How to Play WAV audio file from resources 【参考方案1】:

解决方案资源管理器中左键单击您的文件,然后查看属性窗口(默认为热键F4)。

您在此处查找名为 Copy to Output Directory 的属性,并将其值更改为 Copy alwaysCopy if newer

这会让文件出现在您的输出目录中(您的 .exe 文件所在的位置)并且您的代码应该可以工作。

【讨论】:

以上是关于C#中的声音,将音频文件放在哪里?的主要内容,如果未能解决你的问题,请参考以下文章

音频设备测试无法播放声音

C# 中的音频 API

在 C# 中合并两个音频文件

在哪里放置相对于 java 项目的声音文件?

Xamarin C# Android - 将 .3gpp 音频转换为字节并发送到 parseObject

在 C# 中的录音设备上播放声音