VC播放mp3等音乐文件,可以使用MCI。
MCI ( Media Control Interface ) ,即媒体控制接口,向基于Windows操作系统的应用程序提供了高层次的控制媒体设备接口的能力。
对于所有的命令都是通过mciSendCommand进行发送。
InfosystemShow中的CMyMCI类是对MCI各种操作的封装,包括打开、播放、暂停等操作,在主程序中,只需调用
CMyMCI m_myMCI;
m_myMCI.MCIOpen("E:\\Kalimba.mp3");
m_myMCI.MCIPlay();
while(1)
{
Sleep(1000);
}
m_myMCI.MCIClose();
即可完成对音乐的播放。
//打开MCI设备 参数为文件地址
DWORD CMyMCI::MCIOpen(const CString &strPath)
{
MCI_OPEN_PARMS mciOP;
DWORD dwReturn;
ASSERT(m_wID==NULL);
mciOP.lpstrDeviceType=NULL;
mciOP.lpstrElementName=strPath;
dwReturn=mciSendCommand(NULL,MCI_OPEN,MCI_OPEN_ELEMENT|MCI_WAIT|MCI_OPEN_SHAREABLE,
(DWORD)(LPVOID)&mciOP);
if (dwReturn==0)
{
m_wID=mciOP.wDeviceID;
if(this->MCIGetLength(&m_dwLength)!=0)
m_dwLength=0;
}
else
m_wID=NULL;
return dwReturn;
}
//关闭MCI设备
DWORD CMyMCI::MCIClose()
{
MCI_GENERIC_PARMS mciGP;
DWORD dwReturn;
dwReturn=mciSendCommand(m_wID,MCI_CLOSE,MCI_NOTIFY|MCI_WAIT,
(DWORD)(LPVOID)&mciGP);
m_wID=NULL;
return dwReturn;
}
//播放
DWORD CMyMCI::MCIPlay()
{
MCI_PLAY_PARMS mciPP;
return mciSendCommand(m_wID,MCI_PLAY,MCI_NOTIFY,
(DWORD)(LPVOID)&mciPP);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2015-05-23 H264中的SPS、PPS提取与作用
2015-05-23 SxsTrace工具使用方法
2015-05-23 移植strace调试工具到arm平台
2015-05-23 掌握 Linux 调试技术
2015-05-23 Linux on Power 上的调试工具和技术
2015-05-23 使用 Strace 和 GDB 调试工具的乐趣
2015-05-23 自助Linux之问题诊断工具strace