扫一扫,访问微社区

QQ登录

只需一步,快速开始

上位机MFC背景音乐集成类几行代码搞定

[ 复制链接 ]
注册机大伙都有用过,其背景音乐挺炫酷,普遍被软件作者认为是一种炫耀。
自己也搞了个注册类似的软件,想加入一背景音乐。
功能一样,也是越简单越好:
软件启动播放,软件退出停止播放。
音频文件越小越好,嵌入到软件中使用。

背景用音频文件倒是很多,随处可下。
xm格式发现其占用空间最小,音质很好。
这也是被注册机大量选择原因。

VS自带函数PlaySong直接支持WAV格式。
本想直接使用,使用时发现文件过大,播放不了。
常见格式音频播放源代码以前有搞过,又闲功能太臃肿。

另外将看中的XM转换为常见格式如WAV,MP3,十几K直接变量十几M,1000位左右增大,
一堆的原因,决定最终选择使用XM格式的音频文件。

找了半天没个好的库,还都是2002年以前的网页与资源。
这里分享自己修改后的能播放XM格式音乐的库,功能简单,
当然格式支持还很多,没需求就没去用。

集成为一个类CMusic供使用。
类就搞三个函数供调用,越简单越好。
bool PlayMusic(int nSourceID,CString sSourceType);
bool PlayMusic(CString sFileName);
bool StopMusic();


两个函数PlayMusic,可以分别播放现有的音频文件或导入到程序的资源文件。
播放后一直循环播放背景音乐直到调用StopMusic函数。

例程源代码提供下载:
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:Test.rar 
文件大小:331.43 KB  售价:18金币
下载权限: 不限 以上或 VIP会员   [购买VIP]   [充值积分]   有问题联系我



例程使用VS2010在WIN10,64位系统上编写与测试。
例程界面如下:
2020-07-04_123245.jpg
一播放按钮播放例程同级目录下的XM文件Sound.xm。
一播放按钮播放导入在程序内的指定音频资源。
可以自由来回点击切换播放。
还有一个停止按钮,可以停止播放音乐。
如果自己想搞成注册机形式的,这些按钮就不需要了。
例程是对集成类的使用。
就三个按钮代码,使用上超级简单。
如下:
  1. #include "Music.h"
  2. CMusic Music;
  3. void CTestDlg::OnBnClickedButton1()
  4. {
  5.         char c[MAX_PATH];
  6.         GetModuleFileName(NULL,c,MAX_PATH);
  7.         CString sFile(c);
  8.         sFile = sFile.Left( sFile.ReverseFind('\\') );
  9.         sFile+=_T("\\Sound.xm");//播放程序同级目录下的音频文件;
  10.         Music.PlayMusic(sFile);
  11. }
  12. void CTestDlg::OnBnClickedButton2()
  13. {
  14.         Music.StopMusic();
  15. }
  16. void CTestDlg::OnBnClickedButton3()
  17. {
  18.         Music.PlayMusic(131,_T("GKBC8_COM"));
  19. }
复制代码
在使用资源ID时要注意一下函数参数含义,
如代码Music.PlayMusic(131,_T("GKBC8_COM"));
GKBC8_COM对应下图标识一,资源视图中导入资源时生成的文件夹,
131对应下图标识2,资源视图中导入资源时生成的名称其对应的ID。
搜索此名称,可以在Resource.h文件中找到此名称对应的ID.

在使用资源ID时要注意一下

在使用资源ID时要注意一下

就这简单的两函数调用就实现了软件背景音乐的添加。
功能已达到自己目的,可以制作注册机了。
更多功能欢迎下载自己完善。



回复

使用道具 举报

点击查看
快速回复 返回列表 客服中心 搜索