GUI 剖析之5) 我想写音乐贺卡程序

你有没有在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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值