使用当前目录中的函数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。
答案 0 :(得分:1)
来自PlaySound的文档:
PlaySound在以下目录中搜索声音文件: 当前目录; Windows目录; Windows系统 目录; PATH环境变量中列出的目录;和 网络中映射的目录列表。
Windows中的“当前目录”是运行应用程序的任何位置。但是,在Visual Studio中运行项目将使用不同的目录。您可以通过在Debugging>下查看项目属性来找出(并更改)哪个目录。工作目录。
在您提供给教师的文件中,声音目录需要位于相对于EXE 的相同位置,因为计算机上的声音目录相对于工作目录在Visual Studio中。