C语言声音文件播放

#include<stdio.h>#include<windows.h>#include<mmsystem.h>#pragmacomment(lib,"winmm.lib... #include<stdio.h>
#include<windows.h>
#include<mmsystem.h>
#pragma comment(lib,"winmm.lib")
int main()
{
PlaySound("D:\\新建文件夹\\gift\\a.wav",NULL,SND_FILENAME|SND_ASYNC);
return 0;
}
编译后有警告说 ignoring #pragma comment 并无法build win8.1系统 用的codeblocks 求大神解决,本人想在一个程序里面加入背景音乐
展开
 我来答
吉祥二进制
高粉答主

2015-05-25 · 科技改变生活,生活改变科技。
吉祥二进制
采纳数:33926 获赞数:84564

向TA提问 私信TA
展开全部

用C语言播放音乐,一般需要额外的库或者调用系统的API函数。

以Windows为例,可以通过PlaySound函数播放wav格式的音乐。示例如下,代码在vc6.0中编译通过。

#include<stdio.h>
#include<windows.h>
#include<mmsystem.h>
#pragma comment(lib, "WINMM.LIB")
int main()
{
PlaySound(TEXT("1.wav"),0,SND_FILENAME); //1.wav是要播放的音乐文件
return 0;
}

如果想播放mp3音乐可以使用如下代码。

注意:生成程序后,请在cmd中执行此程序,不要在vc/vs的IDE中运行。

#include <windows.h>
#include <mmsystem.h>
#include <stdio.h>
#pragma comment(lib, "Winmm.lib")
int main(int argc, char *argv[])
{
     //绝对地址形式
    TCHAR fileName[]="ganlusi.mp3";
    TCHAR shortName[MAX_PATH];
    GetShortPathName(fileName,shortName,sizeof(shortName)/sizeof(TCHAR));
    TCHAR cmd[MAX_PATH+10];
    wsprintf(cmd,"play %s",shortName);
    mciSendString(cmd,NULL, 0, NULL);
    Sleep(5 * 60 * 1000); //这里是防止一播放就结束做的延迟
      return 0;
}
Rankabc
2014-04-02 · TA获得超过3559个赞
知道大有可为答主
回答量:3705
采纳率:59%
帮助的人:1030万
展开全部
#include<windows.h>
int main()
{
    system("D:\\新建文件夹\\gift\\a.wav");
    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
林遇傲雪
2014-04-02 · TA获得超过109个赞
知道小有建树答主
回答量:88
采纳率:0%
帮助的人:70.6万
展开全部
#include<stdio.h>
#include<windows.h>
#include<mmsystem.h>
#pragma comment(lib,"winmm.lib")
int main()
{

mciSendString("play c:/1.mp3","",0,NULL);
while (TRUE)
{
; //空循环是保证 音乐放完。
}

return 0;
}
这样可以播放了。 如果你想在程序运行的时候加背景音乐的 话,要用到多线程。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fyrtl385
2014-04-02 · 超过16用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:36.8万
展开全部
#pragma comment(lib,"winmm.lib")
告诉编译器要导入winmm库,
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式