【发布时间】:2015-07-11 23:32:28
【问题描述】:
我正在使用在 GNU GCC 编译器上运行的 code::blocks IDE。在我的项目中,我想在 C 中播放 .wav 声音文件。我尝试使用名为 PlaySound 的函数播放 .wav 声音文件.当我编译代码时,code::blocks 给了我一个错误 - PlaySoundA 未声明。我的代码是-
#include <stdio.h>
#include <windows.h>
#include <windowsx.h>
#include <mmsystem.h>
int main(int argc, char *argv[])
{
PlaySound("C:\Snakes and Ladders\snake.wav",NULL,SND_SYNC | SND_LOOP | SND_FILENAME);
return 0;
}
我检查了我的路径两次。我在互联网上阅读了有关此功能的信息,据我所知,我以正确的方式使用它。
在 Google 中,我读到该函数存在于一个名为 winmm.lib 的文件中。所以我在所有标题之后放了一行代码。原来是-
#pragma comment (lib , "winmm.lib")
我还将名称 winmm.lib 添加到 code::blocks 的附加依赖项中。所以现在当我编译代码时,它给了我另一个错误 - winmm.lib not found。谁能告诉我如何正确使用 PlaySound。
【问题讨论】:
-
将路径中的 \ 替换为 \\。喜欢
C:\\Snakes and Ladders\\snake.wav -
如果我放 Mmsystem.h,code::blocks 会给我错误,这就是我放 mmsystem.h 的原因。
-
我使用的是 Visual Studio 2008,在这方面工作正常。
-
你正在使用 gcc,不要将它与 msvc 之类的杂注混合。见stackoverflow.com/questions/21837556/…
-
Himanshu,您使用的是 Visual Studio 2008,而不是 code::blocks。如果您想亲自查看,请下载 code::blocks 并尝试放入 Mmsystem.h。它不会起作用。
标签: c audio codeblocks wav winmm