项目: 用C语言写一个精美图形化的音乐播放器【C++ / C】
目录
- 最终效果
- 代码
- 资源地址
最终效果
代码
/************
1开头的是周杰伦的歌
2开头的是林俊杰的歌
3开头的是许嵩的歌
*************/
#include<stdio.h>
#include<windows.h>
#include<mmsystem.h>
#pragma comment(lib,"Winmm.lib")
#include<graphics.h>
#include<stdlib.h>
#include<conio.h>void zhoujielun();
void menu_zhou();
void linjunjie();
void menu_linjunjie();
void xusong();
void menu_xusong();
void qita();
void menu_qita();
void menu();#define width 400//窗口的大小
#define height 500int i=0;void zhoujielun()//周杰伦歌曲
{char input;menu_zhou();//加载周杰伦曲目图像IMAGE imga,imgb,imgc,imgd;loadimage(&imga,"1爱的飞行日记.png",145,42); loadimage(&imgb,"1稻香.png",145,42);loadimage(&imgc,"1七里香.png",145,42);loadimage(&imgd,"1晴天.png",145,42);while(1){if(kbhit())//判断是否有输入{mciSendString("close bkmusic", NULL, 0, NULL);//关闭歌曲 input=getch();if(input=='e')break;switch(input){case 'a':mciSendString("open 1爱的飞行日记.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); //循环播放音乐putimage(6,465,&imga);break;case 'b':mciSendString("open 1稻香.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);putimage(6,465,&imgb);break;case 'c':mciSendString("open 1七里香.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); putimage(6,465,&imgc);break;case 'd':mciSendString("open 1晴天.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);putimage(6,465,&imgd);break;}}}
}
void menu_zhou()
{char input;IMAGE mg;cleardevice();loadimage(&mg,"周杰伦.png",400,500);putimage(0,0,&mg);settextcolor(CYAN);settextstyle(28,0,"宋体");outtextxy(130,20,"周杰伦曲目");settextstyle(24,0,"宋体");outtextxy(122,90,"a. 爱的飞行日记");outtextxy(124,170,"b. 稻香");outtextxy(124,240,"c. 七里香");outtextxy(124,310,"d. 晴天");outtextxy(124,380,"e. 返回主菜单");settextstyle(18,0,"宋体");outtextxy(6,440,"help:请输入你想听的歌曲所对应的字母");
}
void linjunjie()//林俊杰歌曲
{char input;IMAGE imga,imgb,imgc,imgd;menu_linjunjie();loadimage(&imga,"2被风吹过的夏天.png",145,42); loadimage(&imgb,"2心墙.png",145,42);loadimage(&imgc,"2她说.png",145,42);loadimage(&imgd,"2爱笑的眼睛.png",145,42);while(1){if(kbhit())//判断是否有输入{mciSendString("close bkmusic", NULL, 0, NULL);//关闭歌曲 input=getch();if(input=='e')break;switch(input){case 'a':mciSendString("open 2被风吹过的夏天.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);putimage(6,465,&imga);break;case 'b':mciSendString("open 2心.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); putimage(6,465,&imgb);break;case 'c':mciSendString("open 2她说.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);putimage(6,465,&imgc);break;case 'd':mciSendString("open 2爱笑的眼睛.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); putimage(6,465,&imgd);break;}}}
}
void menu_linjunjie()
{char input;IMAGE mg;cleardevice();loadimage(&mg,"林俊杰.png",400,500);putimage(0,0,&mg);settextcolor(GREEN);settextstyle(28,0,"宋体");outtextxy(135,20,"林俊杰曲目");settextstyle(24,0,"宋体");outtextxy(122,90,"a. 被风吹过的夏天 ");outtextxy(124,160,"b. 心墙");outtextxy(124,230,"c. 她说");outtextxy(124,300,"d. 爱笑的眼睛");outtextxy(124,370,"e. 返回主菜单");settextstyle(18,0,"宋体");outtextxy(6,440,"help:请输入你想听的歌曲所对应的字母");
}
void xusong()//许嵩歌曲
{char input;menu_xusong();IMAGE imga,imgb,imgc,imgd;loadimage(&imga,"3幻听.png",145,42); loadimage(&imgb,"3素颜.png",145,42);loadimage(&imgc,"3灰色头像.png",145,42);loadimage(&imgd,"3玫瑰花的葬礼.png",145,42);while(1){if(kbhit())//判断是否有输入{mciSendString("close bkmusic", NULL, 0, NULL); input=getch();if(input=='e')break;switch(input){case 'a':mciSendString("open 3幻听.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);putimage(6,465,&imga);break;case 'b':mciSendString("open 3素颜.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);putimage(6,465,&imgb);break;case 'c':mciSendString("open 3灰色头像.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);putimage(6,465,&imgc);break;case 'd':mciSendString("open 3玫瑰花的葬礼.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); putimage(6,465,&imgd);break;}}}
}
void menu_xusong()
{char input;IMAGE mg;cleardevice();loadimage(&mg,"许嵩.png",400,500);putimage(0,0,&mg);settextcolor(GREEN);settextstyle(28,0,"宋体");outtextxy(135,20,"许嵩曲目");settextstyle(24,0,"宋体");outtextxy(122,90,"a. 幻听 ");outtextxy(124,160,"b. 素颜");outtextxy(124,230,"c. 灰色头像");outtextxy(124,300,"d. 玫瑰花的葬礼");outtextxy(124,370,"e. 返回主菜单");settextstyle(18,0,"宋体");outtextxy(6,440,"help:请输入你想听的歌曲所对应的字母");
}
void qita()//混杂曲库
{char input;menu_qita();IMAGE imga,imgb,imgc,imgd,imge,imgf,imgg,imgh;loadimage(&imga,"Love.png",145,42); loadimage(&imgb,"认真的老去.png",145,42);loadimage(&imgc,"星.png",145,42);loadimage(&imgd,"无名之辈.png",145,42);loadimage(&imge,"不知所措.png",145,42);loadimage(&imgf,"十年.png",145,42);loadimage(&imgg,"勋章.png",145,42);loadimage(&imgh,"夜航星.png",145,42);while(1){if(kbhit())//判断是否有输入{mciSendString("close bkmusic", NULL, 0, NULL); input=getch();if(input=='i')break;switch(input){case 'a':mciSendString("open Love.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); putimage(6,465,&imga);break;case 'b':mciSendString("open 认真的老去.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);putimage(6,465,&imgb);break;case 'c':mciSendString("open 星.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); putimage(6,465,&imgc);break;case 'd':mciSendString("open 无名之辈.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); putimage(6,465,&imgd);break;case 'e':mciSendString("open 不知所措.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);putimage(6,465,&imge);break;case 'f':mciSendString("open 十年.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);putimage(6,465,&imgf);break;case 'g':mciSendString("open 勋章.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); putimage(6,465,&imgg);break;case 'h':mciSendString("open 夜航星.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); putimage(6,465,&imgh);break;}}}
}
void menu_qita()
{char input;IMAGE mg;cleardevice();loadimage(&mg,"其他.png",400,500);putimage(0,0,&mg);settextcolor(RED);settextstyle(28,0,"宋体");outtextxy(135,20,"混杂曲库");settextstyle(24,0,"宋体");outtextxy(20,90,"a.Love Story");outtextxy(220,90,"b.认真的老去 ");outtextxy(20,160,"c.夜空中最亮的星");outtextxy(220,160,"d.无名之辈");outtextxy(20,230,"e.不知所措");outtextxy(220,230,"f.十年");outtextxy(20,300,"g.勋章");outtextxy(220,300,"h.夜航星");outtextxy(100,370,"i.返回主菜单");settextstyle(18,0,"宋体");settextcolor(YELLOW);outtextxy(6,440,"help:请输入你想听的歌曲所对应的字母");
}
void mi()
{char input;IMAGE mg;cleardevice();loadimage(&mg,"作者.png",400,500);putimage(0,0,&mg);settextcolor(RED);settextstyle(28,0,"宋体");outtextxy(135,20,"作者简介");settextstyle(16,0,"宋体");outtextxy(10,60,"作者辉小歌,");outtextxy(10,100,"是一个正在努力学习的菜鸟");outtextxy(10,140,"作者在这里谢谢大家的使用!");outtextxy(100,370,"a.返回主菜单");while(1){input=getch();if(input=='a')break;}
}
void menu()
{char input;IMAGE mg;loadimage(&mg,"1.png",400,500);//加载图片putimage(0,0,&mg);//从起点绘制图片settextcolor(YELLOW);//设置字体颜色settextstyle(28,0,"consolas");//设置字体大小和格式setbkmode(TRANSPARENT);//去掉字体输出的黑色背景outtextxy(114,15,"炫歌电台为你服务");settextstyle(24,0,"宋体");outtextxy(124,90,"a. 周杰伦");outtextxy(124,150,"b. 林俊杰");outtextxy(124,210,"c. 许嵩");outtextxy(126,270,"d. 混杂曲库");outtextxy(128,330,"e. 关于作者");outtextxy(130,390,"f. 退出");settextstyle(16,0,"consolas");outtextxy(10,440,"请输入你想听的歌手所对应的字母");outtextxy(10,460,"例: 听周杰伦 请按 a(小写)");input=_getch();switch(input){case 'a':zhoujielun();break;case 'b':linjunjie();break;case 'c':xusong();break;case 'd':qita();break;case 'e':mi();break;case 'f':i++;closegraph();break;}
}int main(void)
{initgraph(width,height);while(1){menu();if(i==1){return 0;break;}}return 0;
}
资源地址
链接:https://pan.baidu.com/s/1-T8SoWwpC5iX7xEte1dSkQ
提取码:1234
项目: 用C语言写一个精美图形化的音乐播放器【C++ / C】相关推荐
- 项目: 用C语言写一个图形化的音乐播放器 【C++ / C】
目录 最终效果 代码 资源地址 最终效果 代码 /************ 1开头的是周杰伦的歌 2开头的是林俊杰的歌 3开头的是许嵩的歌 *************/ #include<std ...
- 【游戏开发创新】手把手教你使用Unity制作一个高仿酷狗音乐播放器,滨崎步,旋律起,爷青回(声音可视化 | 频谱 | Audio)
文章目录 一.前言 二.获取UI素材 三.使用UGUI制作界面 1.界面布局 2.账号圆形头像 3.搜索框 4.调节UI层 5.黑色按钮悬浮高亮效果 6.纯文字按钮 7.滚动列表自适应 8.歌名与视频 ...
- 第六节:用audio标签打造一个属于自己的HTML5音乐播放器
上一章节,我们刚刚讲了<video>标签,今晚,我们讲的是<audio>标签,这两个东东除了表示的内容不一样以外,其他的特性相似的地方真的太多了,属性和用法几乎一样,也就说,如 ...
- 开源html5在线音乐网站,一个漂亮的开源HTML5音乐播放器——APlayer
介绍 APlayer是一个简约且漂亮的html5音乐播放器,支持多种模式,包括播放列表模式.吸底模式 .迷你模式.MSE模式.HLS模式. Github https://github.com/diyg ...
- 用jq和bootstrap3 实现一个自定义网页版的音乐播放器
用jq和bootstrap3 实现一个自定义网页版的音乐播放器 1.主要实现功能 1.1.点击播放与暂停,上一首和下一首: 注:用python返回所有歌曲的信息,加载完成默认选择第一首歌曲,通过传递歌 ...
- 我用 Python 写了一款炫酷音乐播放器,想听啥随便搜!
作者:Dragon少年 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/hhladminh ...
- HTML:给自己设计一个简单的专属网页音乐播放器
Hello,大家好,我是wangzirui32,今天我们来学习如何给自己设计一个简单的网页音乐播放器. 开始学习吧! 学习目录 1. 项目架构 2. player.html 编写 3. style.c ...
- iOS一个模仿百度音乐盒的音乐播放器(带EQ均衡器)
工作之余, 断断续续写了这么一个音乐播放器, eq实现各种音效, 指定位置播放, 快进快退, 锁屏耳机线控等等, 基本就是参考百度音乐盒的功能来实现的.(项目地址最后放出, 项目中的资源接口, 是抓百 ...
- 使用纯QML写的模仿的酷狗音乐播放器
趁着平时上班闲暇的时间写了一个酷狗的音乐播放器界面, 但是除了关闭的功能之外,没有添加任何功能. 而且界面的有些地方划的也不是很完整. 但是感觉还是挺好看的 这个界面的UI是从网上copy过来的, ...
最新文章
- oracle数据库连接设置配置文件
- java uml 为什么_Java开发为什么需要UML (转)
- 23. Leetcode 86. 分隔链表 (链表-基础操作类-分隔链表)
- java基础(五) String性质深入解析
- matlab储备池算法,储备池计算概述.pdf
- 2020年最新程序员职业发展路线指南,超详细!
- NuGet学习笔记001---了解使用NuGet给net快速获取引用
- 在频域上,随机接入前导占用()个资源块对应的带宽
- Spring注解事务诡异提交全面解析
- 怎样填充潘通颜色_怎样判定润滑脂,锂基脂的好坏?
- 整人输入指定内容退出html,整人代码
- Bash 编程易犯的错误大全
- 关于 USB 3.0/3.1 线序定义
- 神经网络之BP算法【图文并茂】
- 线下沙龙:靠谱的区块链应用到底是啥样?
- “插座”,“充电宝”,“数据线”用英语怎么说?
- 医院导诊图怎么做,专业便捷、低成本的室内电子地图绘制平台!
- 【几种恢复误关Chrome标签页的方法】
- 如何免费下载IEEE论文
- 【Unity3DRPG入门学习笔记第六卷】SetCursor 设置鼠标指针