在 Visual C# 项目中将 .mp3 文件放在哪里?
Posted
技术标签:
【中文标题】在 Visual C# 项目中将 .mp3 文件放在哪里?【英文标题】:Where to put .mp3 file in visual C# project.? 【发布时间】:2016-08-07 12:58:22 【问题描述】:我正在用 Visual C# Winforms 设计一个小型应用程序。我正在使用 NAudio 并播放 .mp3 文件。下面是代码:
IWavePlayer waveOutDevice = new WaveOut();
AudioFileReader audioFileReader = new AudioFileReader("ringtone.mp3");
waveOutDevice.Init(audioFileReader);
waveOutDevice.Play();
我已将此ringtone.mp3
保存在调试文件夹中。但我想如果我在另一个系统上使用这个 exe。那么这个mp3就不行了。所以我想知道在项目中我可以在哪里保存这个 mp3 文件以及如何使用它。
【问题讨论】:
【参考方案1】:选项 1: 您必须确保 mp3 文件始终与 exe 文件位于同一文件夹中。也许创建一个安装程序,它将两个文件复制到同一个文件夹中。
选项 2: 将 mp3 文件嵌入到 exe 中。只需将 mp3 复制到您的 Visual Basic 解决方案中并将其 Build Actions 设置为 Embedded Resource
然后在你的代码中你会用这个来引用它:
Stream mp3FileStream = Assembly.GetEntryAssembly().GetManifestResourceStream("YourSolution.ringtone.mp3");
这将返回一个 Stream 对象。您必须了解如何将其传递给您的 IWavePlayer 对象。
我的猜测是这样的waveOutDevice.Init(mp3FileStream)
,但甚至没有测试过。
【讨论】:
构建操作到嵌入式资源的这些选项在哪里 在属性面板上,从项目中选择文件后。这是截图:evernote.com/l/AWmFHCnm2t5O_5rCcvB4LJO6hTcosIo6VZU 好的,我已经为嵌入式资源设置了构建操作。我应该把你在回答中提到的那行代码放在哪里? 您可以开始将它们放在您粘贴问题代码的位置。【参考方案2】:只需将其添加到项目中即可。 右键单击项目=>添加=>现有项目... 从文件选择器中选择文件。 编译时会发送到输出文件夹。
【讨论】:
以上是关于在 Visual C# 项目中将 .mp3 文件放在哪里?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Visual Studio for Mac 中将参数传递给 Main() C#
Visual Studio 2010 C# 表单项目 - 拖放 - 最佳方法?