MFC添加游戏背景音乐

ゝ一纸荒年。 2024-02-18 23:58 138阅读 0赞

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

  1. void CMyTetrisView::OnOpenMusic()
  2. {
  3. // TODO: 在此添加命令处理程序代码
  4. Invalidate(FALSE);
  5. int m_iMusicTime = 0;
  6. CString s = "res\\1.mp3";
  7. CFileFind fFind;
  8. if (!fFind.FindFile(s))
  9. {
  10. KillTimer(ID_Open_Music);
  11. return;
  12. }
  13. if (h_iMusicWnd) MCIWndDestroy(h_iMusicWnd);
  14. h_iMusicWnd = MCIWndCreate(NULL, NULL, WS_MINIMIZE, s);
  15. //SetMusicPower(Glb().m_iSound); //设置音量
  16. m_iMusicTime = MCIWndGetLength(h_iMusicWnd);
  17. SetTimer(ID_Open_Music, m_iMusicTime, NULL);//OnTimer内设置循环
  18. MCIWndSetRepeat(h_iMusicWnd, TRUE);
  19. MCIWndPlay(h_iMusicWnd);
  20. }
  21. void CMyTetrisView::OnStopMusic()
  22. {
  23. // TODO: 在此添加命令处理程序代码
  24. MCIWndDestroy(h_iMusicWnd);
  25. Invalidate(FALSE);
  26. }

ps:需要添加头文件 #include “Vfw.h”

-—————————— 本文来自 Right_pro 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/Right\_o/article/details/51822119?utm\_source=copy

发表评论

表情:
评论列表 (有 0 条评论,138人围观)

还没有评论,来说两句吧...

相关阅读

    相关 MFC添加游戏背景音乐

    前一阵在给基于MFC的一个小游戏添加背景音乐的时候,刚开始是准备new一个新线程,但是在参考了一些资料与教程之后,决定采用MCI这个API,开始使用的是winmm.lib接口,