自定义资源类型为MP3,并导入一个mp3的音乐的文件,得到资源标识IDR_MP31

定义音乐播放模块(将IDR_MP31资源拷贝到用户临时目录,然后使用win的media control interface播放音乐)

namespace music_play_module
{#pragma comment(lib, "Winmm.lib")class music_play{TCHAR tmpmp3[MAX_PATH];//提取出的music的路径位置public:static bool ExtractResource(LPCTSTR strDstFile, LPCTSTR strResType, LPCTSTR strResName){HANDLE hFile = ::CreateFile(strDstFile, GENERIC_WRITE, NULL, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_TEMPORARY, NULL);if (hFile == INVALID_HANDLE_VALUE)return false;HRSRC    hRes    = ::FindResource(NULL, strResName, strResType);HGLOBAL hMem    = ::LoadResource(NULL, hRes);DWORD dwSize  = ::SizeofResource(NULL, hRes);DWORD dwWrite = 0;::WriteFile(hFile, hMem, dwSize, &dwWrite, NULL);::CloseHandle(hFile);return true;}bool InitResource(WORD wResourceId){::GetTempPath(MAX_PATH, tmpmp3);_tcscat_s(tmpmp3 , MAX_PATH , _T("testapp_background.mp3"));return music_play::ExtractResource(tmpmp3, _T("MP3"), MAKEINTRESOURCE(wResourceId));}bool StartPlayMusic(){TCHAR mcicmd[300];_stprintf(mcicmd, _T("open \"%s\" alias mymusic"), tmpmp3);mciSendString(mcicmd, NULL, 0, NULL);mciSendString(_T("play mymusic"), NULL, 0, NULL);return true;}bool PausePlayMusic(){mciSendString(_T("pause mymusic"), NULL, 0, NULL);return true;}bool StopPlayMusic(){mciSendString(_T("stop mymusic"), NULL, 0, NULL);mciSendString(_T("close mymusic"), NULL, 0, NULL);return true;}void RemoveTmpFile(){DeleteFile(tmpmp3);}~music_play(){RemoveTmpFile();}};
}

测试一下

void main()
{using namespace music_play_module;{music_play mp;mp.InitResource(IDR_MP32);getchar();mp.StartPlayMusic();getchar();mp.PausePlayMusic();getchar();mp.StartPlayMusic();getchar();mp.StopPlayMusic();}
}

在exe中嵌入mp3音乐播放相关推荐

  1. Linux下基于Libmad库的MP3音乐播放器编写

    linux下基于Libmad库的MP3音乐播放器编写 libmad是一个开源mp3解码库,其对mp3解码算法做了很多优化,性能较好,很多播放器如mplayer.xmms等都是使用这个开源库进行解码的: ...

  2. Android应用开发--MP3音乐播放器滚动歌词实现

    Android应用开发--MP3音乐播放器滚动歌词实现 2013年6月2日  简.美音乐播放器开发记录 -----前话 有网友给我博客评论说,让我借鉴好的Android代码,代码贴出来的时候最好整体先 ...

  3. 使用Java实现MP3音乐播放

    使用Java实现MP3音乐播放 Java SE自带的API中缺少对MP3格式音频文件的支持,想要使用Java代码播放MP3需要第三方库.JLayer-MP3 library是一款Java语言编写的开源 ...

  4. Android开发本地及网络Mp3音乐播放器(二十)歌曲下载完成后通知主界面更新本地音乐

    转载请注明出处:http://blog.csdn.net/iwanghang/article/details/51448597 项目源码(打赏5积分请点这边):http://download.csdn ...

  5. 毕业设计 单片机MP3音乐播放器 - 物联网 嵌入式

    文章目录 1 简介 2 绪论 2.1 课题背景与目的 3 系统设计 3.1 系统架构 3.2 软件部分设计 3.3 实现效果 3.4 部分相关代码 4 最后 1 简介 Hi,大家好,学长今天向大家介绍 ...

  6. 毕业设计 嵌入式 MP3音乐播放器设计与实现

    文章目录 1 简介 2 绪论 2.1 课题背景与目的 3 系统设计 3.1 系统架构 3.2 软件部分设计 3.3 实现效果 3.4 部分相关代码 4 最后 1 简介 Hi,大家好,学长今天向大家介绍 ...

  7. stm32毕业设计 单片机MP3音乐播放器

    文章目录 1 简介 2 绪论 2.1 课题背景与目的 3 系统设计 3.1 系统架构 3.2 软件部分设计 3.3 实现效果 3.4 部分相关代码 1 简介 Hi,大家好,这里是学长今天向大家介绍一个 ...

  8. 硬件课程设计:基于STM32的多功能播放器之MP3音乐播放

    3 MP3音乐播放 3.1 功能介绍 3.1.1 设计思路 音乐播放是手机等电子产品最常见的功能,也是最具娱乐性的功能,在该模块中,我先从SD卡中读取已存放的MP3音乐文件,然后将读取的字节流依次送人 ...

  9. Android开发本地及网络Mp3音乐播放器(十二)创建NetMusicListAdapter、SearchResult显示网络音乐列表

    转载请注明出处:http://blog.csdn.net/iwanghang/article/details/51290181 觉得博文有用,请点赞,请留言,请关注,谢谢!~ 实现功能: 实现NetM ...

最新文章

  1. 线程间通信共享变量和queue
  2. 框架:Spring的自动装配
  3. mariadb用户群体mysql_MySQL/MariaDB用户账户管理
  4. java wait 参数_java中wait()和join()方法的区别是什么
  5. mysql中怎么实现Apriori_关联规则算法Apriori的学习与实现
  6. 《Scikit-Learn与TensorFlow机器学习实用指南》第11章 训练深层神经网络
  7. linux nginx安装php5.5,linux下搭建LNMP(linux+nginx+mysql+php)环境之mysql5.5安装
  8. JavaScript创建对象几种形式
  9. 前端使用 geetest 行为验证 web-部署教程
  10. python list转json对象,python 对象和json互相转换方法
  11. 笔记本如何正确安装对应显卡驱动
  12. 估值篇之最关键指标ROE
  13. Android 单个指定蓝牙设备通讯流程
  14. firebug lite for chrome
  15. 原生js监听滚动条_JS原生监听滚动条
  16. 【上海房价预测】代码实现——利用BP神经网络进行上海二手房价预测
  17. 阿里云联合浙江大学举办首届数智服务创新挑战赛!
  18. eureka服务返回的数据是xml格式
  19. 解决‘parent.relativePath‘ of POM com.myfun:taskWeb:0.0.1-SNAPSHOT (D:\project wo
  20. 鼠标事件(事件类型)

热门文章

  1. 李宏毅课程-人类语言处理-BERT和它的家族-介绍和微调(上)
  2. HTML5期末大作业:全球旅游网站设计——全球旅游私人订制(6页) HTML+CSS+JS网页设计期末课程大作业
  3. 浏览器的兼容性测试基础知识
  4. python资源管理器 计算机项目下的_高级语言程序设计(Python)_中国大学MOOC(慕课)_题库及答案...
  5. 一文读懂 YOLOv1,v2,v3,v4 发展史
  6. LSM6DS3TR的IIC地址问题
  7. 92. 反转链表 II
  8. flexslider插件使用体会
  9. antlr java_Antlr4 入门
  10. 总结(算不上总结的总结)