代码如下:
#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下可以编译通过但不能播放音乐,求教!!
代码看上去没有问题,请检查一下音乐文件的路径
请问音乐路径具体要和那个源文件放在一起呢?适合那个.cpp的文件在一起不?
@Mr_happle: 应该和最后的可执行程序放在一起的
@luoshupeng: 是那个.exe的?我把每一级目录里都放了一个。。。还是不放
@Mr_happle: 应该就是最后执行的那个执行程序了
@luoshupeng: 可以了,确实是那个。。谢谢了
刚才试了,在return 0;前加上system("pause");就可以有声音了。
原因是因为是异步播放,所以PlaySound函数马上返回了,然后程序就结束了,资源就释放了,所以播放不成功。
@luoshupeng: 还真是这样!!加上system"pause”就可以了!请问什么是“异步播放”?就是太快了来不及播放吧?我在单片机里遇到过太快来不及反应的情况。。。