MFC添加游戏背景音乐
2016-07-04 16:57
381 查看
前一阵在给基于MFC的一个小游戏添加背景音乐的时候,刚开始是准备new一个新线程,但是在参考了一些资料与教程之后,决定采用MCI这个API,开始使用的是winmm.lib接口,使用mciSendString()函数调用,说到这点,确实很坑,网上的教程说少部分音频不能播放,很不幸,我就是那一部分,在尝试了数次时候,果断换接口,使用Vfw32.lib接口,用MCIWndCreate()函数播放,使用MCIWndDestroy()停止。
ps:需要添加头文件 #include “Vfw.h”
void CMyTetrisView::OnOpenMusic() { // TODO: 在此添加命令处理程序代码 Invalidate(FALSE); int m_iMusicTime = 0; CString s = "res\\1.mp3"; CFileFind fFind; if (!fFind.FindFile(s)) { KillTimer(ID_Open_Music); return; } if (h_iMusicWnd) MCIWndDestroy(h_iMusicWnd); h_iMusicWnd = MCIWndCreate(NULL, NULL, WS_MINIMIZE, s); //SetMusicPower(Glb().m_iSound); //设置音量 m_iMusicTime = MCIWndGetLength(h_iMusicWnd); SetTimer(ID_Open_Music, m_iMusicTime, NULL);//OnTimer内设置循环 MCIWndSetRepeat(h_iMusicWnd, TRUE); MCIWndPlay(h_iMusicWnd); } void CMyTetrisView::OnStopMusic() { // TODO: 在此添加命令处理程序代码 MCIWndDestroy(h_iMusicWnd); Invalidate(FALSE); }
ps:需要添加头文件 #include “Vfw.h”
相关文章推荐
- Android Manifest 用法
- 什么是 GraphQL?
- Spark RDD API详解(一) Map和Reduce
- 网易云音乐8亿用户背后的伤疤
- Spring Boot 开发微服务
- 2 个给使用 Fedora 工作站的音乐爱好者的新应用
- lwn拾遗:[sn3218 led drivers]-api解释-1
- 页面元素查找之Selectors API
- Linux 上最好的五款音乐播放器
- 在 Linux 中使用 SoundConverter 轻松转换音频文件格式
- 5 个很酷的音乐播放器
- 一个小型js框架myJSFrame附API使用帮助
- 详细分析交换机、路由器、集线器的区别和联系
- PowerShell打开或关闭光驱
- 批处理的api WMIC学习体会有感第1/2页
- 批处理 API实现文件下载的代码第1/2页
- Lua教程(十七):C API简介
- 强制删除工具 xdelbox xdelbox1.5正式版下载
- 揪出交换机端口背后“凶手”导致网速太慢
- 电脑重启后突然检测不到硬盘的原因分析与解决办法