C语言用PlaySound函数播放wav格式文件

有同学问我怎么用C语言搞个提示音出来,我在百度和各种论坛找了半天,最后还是帮他实现了。

提要

网上找了半天,最后找到了一段没报错的代码,因为电脑里只安装了VC++ 6.0和Devcpp,就说这两个吧。

代码

这个就是可以实现播放wav文件的函数代码:

#include
#include
#include
#pragma comment(lib,"winmm.lib")
using namespace std;
void main()
{
	PlaySound(TEXT("D:\\msg.wav"),NULL,SND_FILENAME | SND_ASYNC);
	getchar();/*自己改了一下,不知道对不对,反正没报错*/
}

PlaySound里面第一个放的是那个wav文件的地址,wav文件在电脑哪里,就把地址放进去就好了(注意地址把 ’ \ ’ 改成 ’ \ ’ )。后面具体是什么我没有太深入了解,因为已经实现了简单播放,就没太在意了。
后来看了看能不能被调用,就又试了一下

#include
#include
#include
#pragma comment(lib,"winmm.lib")
using namespace std;
void Voice()
{
	PlaySound(TEXT("D:\\msg.wav"),NULL,SND_FILENAME | SND_ASYNC);
	getchar();
}
int main(void)
{
	Voice();
	return 0;
}

都没有报错,后来加在了同学的程序,完全没有问题。

注意

  1. 同样的代码,Dev里面会报错,VC运行完全没有问题,建议别用Dev,要感觉VC实在用不惯,用VS也行(用过一两次,不太熟悉)。

  2. ↓↓↓↓↓↓↓↓

#include
#include
#include
#pragma comment(lib,"winmm.lib")
using namespace std;

这段代码不要动,顺序也不能动。using namespace std;这个行代码更不能少。

  1. 如果在VC++ 6.0里这段代码报错的话,试试看改一下这句PlaySound("D:\\msg.wav",NULL,SND_FILENAME | SND_ASYNC);
    改成这样,加上TEXT():
    PlaySound(TEXT("D:\\msg.wav"),NULL,SND_FILENAME | SND_ASYNC);
    再看看还有没有报错,目前我就没有遇到其他情况了。
希望可以帮助到大家,有什么错误的话,欢迎大佬指点,我还是个小白>_<

你可能感兴趣的:(C语言学习,大一)