C# 控制台:能否在与项目相同的文件夹中找到 .wav 文件
C# console: Can you locate a .wav file in the same folder as the project
你能在控制台项目的'Debug'文件夹中找到.wav文件吗?
- 我需要发生什么 -
我想在我的游戏中播放一个循环的 .wav 文件(这是一个控制台项目,而不是 Forms),我需要找到这个 .wav 文件,即使代码 运行s 在任何电脑。例如,如果我将我的游戏放在 USB 上,运行 将它放在另一台计算机上,则代码需要在项目文件夹中找到 .wav 文件。
-问题-
目前我的代码如下所示:
static void Main(string[] args)
{
var soundPlayer = new System.Media.SoundPlayer();
soundPlayer.SoundLocation = @"C:\ProjectFolder\song.wav";
soundPlayer.PlayLooping();
}
这会播放我的 .wav 文件,但如果我将它带到另一台计算机,它会尝试在我的 HDD 上找到 .wav 文件,而不是在新计算机的 HDD/SSD 上。
-我试过的-
我已经看过,但我找到的每一个答案都不起作用。这是一个应该有效但无效的答案:
static void Main(string[] args)
{
var soundPlayer = new System.Windows.Media.MediaPlayer();
soundPlayer.Open(new Uri(Application.StartupPath + @"\ProjectFolder\song.wav"));
soundPlayer.PlayLooping();
}
在 Visual Studio 编辑器中,第 1 行的 'Media' 带有红色下划线,第 2 行的 'Application' 也是如此。
- 求助! -
我希望这是一个常见问题,希望所有比我优秀的程序员都能找到答案。
如果你能在下面发表评论,那将非常有帮助,即使你知道与此相关的任何事情,或者可以指点我知道的人。感谢阅读。
您通常:
进入 MSVS 解决方案资源管理器
将文件添加到您的项目根目录(或类似“wav”的子目录)。
右键单击 .wav 文件>Select“属性”>Select“复制到输出目录”=>如果较新则复制
所以每次构建项目时,文件都会自动复制到构建目录中。
在您的代码中,您可以使用相对路径打开。
示例:soundPlayer.Open(new Uri("song.wav"));
注意
你还说'Media' on line 1 is underlined red...
这意味着您需要添加对“System.Media”的引用:
看看Can't find System.Windows.Media namespace?
我不确定您使用的是什么平台,但也请看这里:Using the Windows Media Player Control in a .NET Framework Solution
你能在控制台项目的'Debug'文件夹中找到.wav文件吗?
- 我需要发生什么 -
我想在我的游戏中播放一个循环的 .wav 文件(这是一个控制台项目,而不是 Forms),我需要找到这个 .wav 文件,即使代码 运行s 在任何电脑。例如,如果我将我的游戏放在 USB 上,运行 将它放在另一台计算机上,则代码需要在项目文件夹中找到 .wav 文件。
-问题-
目前我的代码如下所示:
static void Main(string[] args)
{
var soundPlayer = new System.Media.SoundPlayer();
soundPlayer.SoundLocation = @"C:\ProjectFolder\song.wav";
soundPlayer.PlayLooping();
}
这会播放我的 .wav 文件,但如果我将它带到另一台计算机,它会尝试在我的 HDD 上找到 .wav 文件,而不是在新计算机的 HDD/SSD 上。
-我试过的-
我已经看过,但我找到的每一个答案都不起作用。这是一个应该有效但无效的答案:
static void Main(string[] args)
{
var soundPlayer = new System.Windows.Media.MediaPlayer();
soundPlayer.Open(new Uri(Application.StartupPath + @"\ProjectFolder\song.wav"));
soundPlayer.PlayLooping();
}
在 Visual Studio 编辑器中,第 1 行的 'Media' 带有红色下划线,第 2 行的 'Application' 也是如此。
- 求助! -
我希望这是一个常见问题,希望所有比我优秀的程序员都能找到答案。 如果你能在下面发表评论,那将非常有帮助,即使你知道与此相关的任何事情,或者可以指点我知道的人。感谢阅读。
您通常:
进入 MSVS 解决方案资源管理器
将文件添加到您的项目根目录(或类似“wav”的子目录)。
右键单击 .wav 文件>Select“属性”>Select“复制到输出目录”=>如果较新则复制
所以每次构建项目时,文件都会自动复制到构建目录中。
在您的代码中,您可以使用相对路径打开。
示例:
soundPlayer.Open(new Uri("song.wav"));
注意
你还说'Media' on line 1 is underlined red...
这意味着您需要添加对“System.Media”的引用:
看看Can't find System.Windows.Media namespace?
我不确定您使用的是什么平台,但也请看这里:Using the Windows Media Player Control in a .NET Framework Solution