你有没有在QQ里发过音乐贺卡给好友,其实音乐贺卡就是播放动态图片的同时也在播放音乐,下面我们就来实现自己的音乐贺卡:
显示图片我们已经介绍过,显示动态图片我们可以在程序中加入定时器,每隔一段时间就更换图片,如此简单而已,下面主要实现播放声音的代码:
#include <mmsystem.h> //加上,不然PlaySound函数无法使用
#pragma comment(lib, "WINMM.LIB") //加上,不然PlaySound函数无法使用
PlaySound(TEXT(“断桥残雪.wav”),NULL,SND_ALIAS| SND_ASYNC);
PlaySound只能播放wav(波形文件)音乐文件,如果你的pc上没有这样的文件,可以利用格式工厂软件工具去转换格式。
下面还有一段代码实现将音乐文件嵌入到exe文件中,使贺卡更加完美:
HRSRC hrc = FindResource(NULL,MAKEINTRESOURCE(IDR_WAVE1),TEXT("WAVE"));
这里的IDR_WAVE1是你添加外部音乐资源编译器为其分配的一个ID,当然你也可以更改ID
if(hrc == NULL)
{
return 0;
}
HGLOBAL hGlobal = LoadResource(NULL,hrc);
if(hGlobal == NULL)
{
return 0;
}
TCHAR *lpResLock = (TCHAR*)LockResource(hGlobal);//lpResLock指向断桥残雪.WAV数据
if(lpResLock == NULL)
{
return 0;
}
PlaySound(lpResLock,NULL,SND_MEMORY | SND_ASYNC);