有同学问我怎么用C语言搞个提示音出来,我在百度和各种论坛找了半天,最后还是帮他实现了。
提要
网上找了半天,最后找到了一段没报错的代码,因为电脑里只安装了VC++ 6.0和Devcpp,就说这两个吧。
代码
这个就是可以实现播放wav文件的函数代码:
#include<iostream>
#include<windows.h>
#include<Mmsystem.h>
#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<iostream>
#include<windows.h>
#include<Mmsystem.h>
#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;
}
都没有报错,后来加在了同学的程序,完全没有问题。
注意
-
同样的代码,Dev里面会报错,VC运行完全没有问题,建议别用Dev,要感觉VC实在用不惯,用VS也行(用过一两次,不太熟悉)。
-
↓↓↓↓↓↓↓↓
#include<iostream>
#include<windows.h>
#include<Mmsystem.h>
#pragma comment(lib,"winmm.lib")
using namespace std;
这段代码不要动,顺序也不能动。using namespace std;
这个行代码更不能少。
- 如果在VC++ 6.0里这段代码报错的话,试试看改一下这句
PlaySound("D:\\msg.wav",NULL,SND_FILENAME | SND_ASYNC);
改成这样,加上TEXT():
PlaySound(TEXT("D:\\msg.wav"),NULL,SND_FILENAME | SND_ASYNC);
再看看还有没有报错,目前我就没有遇到其他情况了。