注册 登录
编程论坛 C语言论坛

playsound用法

cfather 发布于 2020-02-12 13:17, 1934 次点击
我用的是dev c++,然后我做了个游戏,但是没有音乐感觉太单调了。所以就用playsound做了个音乐函数,但是这个函数我没用过多少次,也不太懂,所以又开了一个文件测试,我先用注册表里的声音,可每次编译都会出现[Error] ld returned 1 exit status,我也没有打开多余的cmd窗口,这是怎么回事啊?
2 回复
#2
吹水佬2020-02-12 15:11
1、动态库 Winmm.dll 调用

#include <stdio.h>
#include <windows.h>

typedef MCIERROR WINAPI (*PLAYSOUND)(LPCSTR, HMODULE,DWORD);

int main(void)
{
    HMODULE hLib;
    hLib = LoadLibrary("Winmm.dll");
    if (hLib == 0)
        return 1;
    PLAYSOUND PlaySound = (PLAYSOUND)GetProcAddress(hLib, "PlaySound");
    if (PlaySound == 0)
        return 2;
    PlaySound("C:\\TEMP\\抹去泪水(韩宝仪).wav", 0, SND_ASYNC|SND_LOOP);
    printf("按任一键停止\n");
    system("pause");
    PlaySound(NULL, 0, SND_PURGE);
    FreeLibrary(hLib);
    return 0;
}

2、静态库连接:将连接库 libwinmm.a 加入项目
    链接设置:项目属性--参数--链接
    加入库 ../../../编程工具/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib32/libwinmm.a
#3
cfather2020-02-13 12:08
谢谢
1