使用目录在c ++程序中播放SoundSound

时间:2015-06-06 18:39:19

标签: c++

使用当前目录中的函数PlaySound()播放声音时出现问题。在下列情况下,我收到一个系统的哔声,而不是我的原始文件声音,除了第一个我有整个目录。

这个完美无缺:

PlaySound(TEXT("C:\\Users\\Living Room\\Desktop\\Project\\sound\\lost.wav"), NULL, SND_FILENAME | SND_ASYNC);

但是我要将我的项目交给我的老师他不会像我一样拥有相同的目录,这就是为什么我要将目录更改为类似的目录:

PlaySound(TEXT("sound\\lost.wav"), NULL, SND_FILENAME | SND_ASYNC);

因此,文件夹声音包含 lost.wav 文件, .cpp 文件已从声音文件夹中删除。

如果我将 .cpp 移动到声音文件夹,我就会这样做:

PlaySound(TEXT("lost.wav"), NULL, SND_FILENAME | SND_ASYNC);

我真的需要你的帮助,我是否需要更改项目属性?我使用visual studio 2013,并包含了库windows.h,mmsystem.h和库winmm.lib。

1 个答案:

答案 0 :(得分:1)

来自PlaySound的文档:

  

PlaySound在以下目录中搜索声音文件:   当前目录; Windows目录; Windows系统   目录; PATH环境变量中列出的目录;和   网络中映射的目录列表。

Windows中的“当前目录”是运行应用程序的任何位置。但是,在Visual Studio中运行项目将使用不同的目录。您可以通过在Debugging>下查看项目属性来找出(并更改)哪个目录。工作目录。

在您提供给教师的文件中,声音目录需要位于相对于EXE 的相同位置,因为计算机上的声音目录相对于工作目录在Visual Studio中。