首页 新闻 会员 周边

c语言播放音乐

0
[已解决问题] 解决于 2013-03-15 12:51

代码如下:

#include<stdio.h>
#include<windows.h>
#include<mmsystem.h>
#pragma comment(lib, "WINMM.LIB")
int main()
{
 printf("请欣赏《幸福来敲门》\n");
 PlaySound(TEXT("DOOR1.wav"),0,SND_FILENAME|SND_ASYNC);
 return 0;
}

在vs2008下可以编译通过但不能播放音乐,求教!!

Mr_happle的主页 Mr_happle | 初学一级 | 园豆:172
提问于:2013-03-14 20:26
< >
分享
最佳答案
0

代码看上去没有问题,请检查一下音乐文件的路径

奖励园豆:5
luoshupeng | 初学一级 |园豆:68 | 2013-03-15 08:45

请问音乐路径具体要和那个源文件放在一起呢?适合那个.cpp的文件在一起不?

Mr_happle | 园豆:172 (初学一级) | 2013-03-15 12:39

@Mr_happle: 应该和最后的可执行程序放在一起的

luoshupeng | 园豆:68 (初学一级) | 2013-03-15 12:40

@luoshupeng: 是那个.exe的?我把每一级目录里都放了一个。。。还是不放

Mr_happle | 园豆:172 (初学一级) | 2013-03-15 12:44

@Mr_happle: 应该就是最后执行的那个执行程序了

luoshupeng | 园豆:68 (初学一级) | 2013-03-15 12:47

@luoshupeng: 可以了,确实是那个。。谢谢了

Mr_happle | 园豆:172 (初学一级) | 2013-03-15 12:51

刚才试了,在return 0;前加上system("pause");就可以有声音了。

原因是因为是异步播放,所以PlaySound函数马上返回了,然后程序就结束了,资源就释放了,所以播放不成功。

luoshupeng | 园豆:68 (初学一级) | 2013-03-15 12:52

@luoshupeng: 还真是这样!!加上system"pause”就可以了!请问什么是“异步播放”?就是太快了来不及播放吧?我在单片机里遇到过太快来不及反应的情况。。。

Mr_happle | 园豆:172 (初学一级) | 2013-03-15 13:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册