本文小编为大家详细介绍“怎么使用C语言实现音乐播放器”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用C语言实现音乐播放器”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。介绍该程序是一个小的DEMO,实现了以
本文小编为大家详细介绍“怎么使用C语言实现音乐播放器”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用C语言实现音乐播放器”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
该程序是一个小的DEMO,实现了以下几个功能,可以借鉴学习。
功能1:鼠标选择互动功能。通过鼠标的移动和按下,按钮的颜色也会发生改变。
功能2:音乐的播放与暂停。通过按钮的操作,程序会做出相应的响应。如按下播放音乐1按钮。程序就会加载对应的音乐,其他按钮也是同理。具体的含义以及使用,可以查看代码。
//// 编译该范例前,请把 music.mp3 放在项目文件夹中// 把 music.mp3 和编译的 exe 放在一起// 编译环境:VC6~VC2019 + EasyX_20210115//#include <graphics.h>#include <coNIO.h>#include<string.h>// 引用 windows Multimedia api#pragma comment(lib, "Winmm.lib") void ZT(); // 暂停void BF1(); // 播放1void BF2(); // 播放2void BF3(); // 播放3void menu(); // 总得void locate(int a, int b, int c, int d, int e, LPCTSTR text);void locate(int a, int b, int c, int d, int e, LPCTSTR text, COLORREF color);int Return(); int main(){ initgraph(640, 480); while (1) { int A=Return(); // 鼠标选择; switch (A) { case 0:ZT();break; case 1:BF1();break; case 2:BF2();break; case 3:BF3();break; } } closegraph(); return 0;} void ZT() // 暂停{ mciSendString(_T("stop mymusic"), NULL, 0, NULL); mciSendString(_T("close mymusic"), NULL, 0, NULL);}void BF1() // 播放1{ mciSendString(_T("open 1.mp3 alias mymusic"), NULL, 0, NULL); // 播放音乐 mciSendString(_T("play mymusic"), NULL, 0, NULL);}void BF2() // 播放2{ mciSendString(_T("open 2.mp3 alias mymusic"), NULL, 0, NULL); // 播放音乐 mciSendString(_T("play mymusic"), NULL, 0, NULL);}void BF3() // 播放3{ mciSendString(_T("open 1.mp3 alias mymusic"), NULL, 0, NULL); // 播放音乐 mciSendString(_T("play mymusic"), NULL, 0, NULL);} int Return(){ menu(); MOUSEMSG m1; //BeginBatchDraw(); while (1) { m1 = GetMouseMsg(); switch (m1.uMsg) { case WM_MOUSEMOVE: menu(); if (m1.x >= 220 && m1.x <= 420 && m1.y >= 100 && m1.y <= 130) { menu(); locate(220, 100, 420, 130, 30, _T("暂停/结束"), RED); break; } if (m1.x >= 220 && m1.x <= 420 && m1.y >= 130 && m1.y <= 160) { menu(); locate(220, 130, 420, 160, 30, _T("播放音乐1"), RED); break; } if (m1.x >= 220 && m1.x <= 420 && m1.y >= 160 && m1.y <= 190) { menu(); locate(220, 160, 420, 190, 30, _T("播放音乐2"), RED); } if (m1.x >= 220 && m1.x <= 420 && m1.y >= 190 && m1.y <= 220) { menu(); locate(220, 190, 420, 220, 30, _T("播放音乐3"), RED); } } if (m1.x >= 220 && m1.x <= 420 && m1.y >= 100 && m1.y <= 130) { locate(220, 100, 420, 130, 30, _T("暂停/结束"), RED); if (m1.uMsg == WM_LBUTTONDOWN) { return 0; } } if (m1.x >= 220 && m1.x <= 420 && m1.y >= 130 && m1.y <= 160) { if (m1.uMsg == WM_LBUTTONDOWN) { return 1; // } } if (m1.x >= 220 && m1.x <= 420 && m1.y >= 160 && m1.y <= 190) { if (m1.uMsg == WM_LBUTTONDOWN) { return 2; } } if (m1.x >= 220 && m1.x <= 420 && m1.y >= 190 && m1.y <= 220) { if (m1.uMsg == WM_LBUTTONDOWN) { return 3; } } } } void locate(int a, int b, int c, int d, int e, LPCTSTR text, COLORREF color){ HCURSOR hcur = LoadCursor(NULL, IDC_CROSS); // 加载系统预置的鼠标样式 HWND hwnd = GetHWnd(); // 获取绘图窗口句柄 SetClassLongPtr(hwnd, GCLP_HCURSOR, (long)hcur); // 设置窗口类的鼠标样式 setlinecolor(color); roundrect(a, b, c, d, e, e); settextcolor(color); settextstyle(20, 0, _T("黑体")); setbkmode(TRANSPARENT); char arr[50] = "按钮"; RECT r = { a, b, c, d }; drawtext(text, &r, DT_CENTER | DT_VCENTER | DT_SINGLELINE);} void locate(int a, int b, int c, int d, int e, LPCTSTR text){ setlinecolor(WHITE); roundrect(a, b, c, d, e, e); settextcolor(YELLOW); settextstyle(20, 0, _T("黑体")); setbkmode(TRANSPARENT); char arr[50] = "按钮"; RECT r = { a, b, c, d }; drawtext(text, &r, DT_CENTER | DT_VCENTER | DT_SINGLELINE);}void menu(){ HCURSOR hcur = LoadCursor(NULL, IDC_ARROW); // 加载系统预置的鼠标样式 HWND hwnd = GetHWnd(); // 获取绘图窗口句柄 SetClassLongPtr(hwnd, GCLP_HCURSOR, (long)hcur); // 设置窗口类的鼠标样式 locate(220, 100, 420, 130, 30, _T("暂停/结束")); locate(220, 130, 420, 160, 30, _T("播放音乐1")); locate(220, 160, 420, 190, 30, _T("播放音乐2")); locate(220, 190, 420, 220, 30, _T("播放音乐3"));}
读到这里,这篇“怎么使用C语言实现音乐播放器”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网其他教程频道。
--结束END--
本文标题: 怎么使用C语言实现音乐播放器
本文链接: https://lsjlt.com/news/350063.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0