MFC添加游戏背景音乐

前一阵在给基于MFC的一个小游戏添加背景音乐的时候,刚开始是准备new一个新线程,但是在参考了一些资料与教程之后,决定采用MCI这个API,开始使用的是winmm.lib接口,使用mciSendString()函数调用,说到这点,确实很坑,网上的教程说少部分音频不能播放,很不幸,我就是那一部分,在尝试了数次时候,果断换接口,使用Vfw32.lib接口,用MCIWndCreate()函数播放,使用MCIWndDestroy()停止。

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”


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部