目录

  • 最终效果
  • 代码
  • 资源地址

最终效果

代码


/************
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】相关推荐

  1. 项目: 用C语言写一个图形化的音乐播放器 【C++ / C】

    目录 最终效果 代码 资源地址 最终效果 代码 /************ 1开头的是周杰伦的歌 2开头的是林俊杰的歌 3开头的是许嵩的歌 *************/ #include<std ...

  2. 【游戏开发创新】手把手教你使用Unity制作一个高仿酷狗音乐播放器,滨崎步,旋律起,爷青回(声音可视化 | 频谱 | Audio)

    文章目录 一.前言 二.获取UI素材 三.使用UGUI制作界面 1.界面布局 2.账号圆形头像 3.搜索框 4.调节UI层 5.黑色按钮悬浮高亮效果 6.纯文字按钮 7.滚动列表自适应 8.歌名与视频 ...

  3. 第六节:用audio标签打造一个属于自己的HTML5音乐播放器

    上一章节,我们刚刚讲了<video>标签,今晚,我们讲的是<audio>标签,这两个东东除了表示的内容不一样以外,其他的特性相似的地方真的太多了,属性和用法几乎一样,也就说,如 ...

  4. 开源html5在线音乐网站,一个漂亮的开源HTML5音乐播放器——APlayer

    介绍 APlayer是一个简约且漂亮的html5音乐播放器,支持多种模式,包括播放列表模式.吸底模式 .迷你模式.MSE模式.HLS模式. Github https://github.com/diyg ...

  5. 用jq和bootstrap3 实现一个自定义网页版的音乐播放器

    用jq和bootstrap3 实现一个自定义网页版的音乐播放器 1.主要实现功能 1.1.点击播放与暂停,上一首和下一首: 注:用python返回所有歌曲的信息,加载完成默认选择第一首歌曲,通过传递歌 ...

  6. 我用 Python 写了一款炫酷音乐播放器,想听啥随便搜!

    作者:Dragon少年 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/hhladminh ...

  7. HTML:给自己设计一个简单的专属网页音乐播放器

    Hello,大家好,我是wangzirui32,今天我们来学习如何给自己设计一个简单的网页音乐播放器. 开始学习吧! 学习目录 1. 项目架构 2. player.html 编写 3. style.c ...

  8. iOS一个模仿百度音乐盒的音乐播放器(带EQ均衡器)

    工作之余, 断断续续写了这么一个音乐播放器, eq实现各种音效, 指定位置播放, 快进快退, 锁屏耳机线控等等, 基本就是参考百度音乐盒的功能来实现的.(项目地址最后放出, 项目中的资源接口, 是抓百 ...

  9. 使用纯QML写的模仿的酷狗音乐播放器

    趁着平时上班闲暇的时间写了一个酷狗的音乐播放器界面,  但是除了关闭的功能之外,没有添加任何功能. 而且界面的有些地方划的也不是很完整.  但是感觉还是挺好看的 这个界面的UI是从网上copy过来的, ...

最新文章

  1. oracle数据库连接设置配置文件
  2. java uml 为什么_Java开发为什么需要UML (转)
  3. 23. Leetcode 86. 分隔链表 (链表-基础操作类-分隔链表)
  4. java基础(五) String性质深入解析
  5. matlab储备池算法,储备池计算概述.pdf
  6. 2020年最新程序员职业发展路线指南,超详细!
  7. NuGet学习笔记001---了解使用NuGet给net快速获取引用
  8. 在频域上,随机接入前导占用()个资源块对应的带宽
  9. Spring注解事务诡异提交全面解析
  10. 怎样填充潘通颜色_怎样判定润滑脂,锂基脂的好坏?
  11. 整人输入指定内容退出html,整人代码
  12. Bash 编程易犯的错误大全
  13. 关于 USB 3.0/3.1 线序定义
  14. 神经网络之BP算法【图文并茂】
  15. 线下沙龙:靠谱的区块链应用到底是啥样?
  16. “插座”,“充电宝”,“数据线”用英语怎么说?
  17. 医院导诊图怎么做,专业便捷、低成本的室内电子地图绘制平台!
  18. 【几种恢复误关Chrome标签页的方法】
  19. 如何免费下载IEEE论文
  20. 【Unity3DRPG入门学习笔记第六卷】SetCursor 设置鼠标指针

热门文章

  1. Python 中的 lstrip、rstrip、strip
  2. DDCTF-2018-writeup(5misc)
  3. document对象相关信息
  4. 黑马程序员--学习while、do-while、for循环、try-catch的用法
  5. QT5实现简单的TCP通信
  6. linux驱动的入口函数module_init的加载和释放
  7. 抓取html的地址怎么写,html js 获取地址栏参数
  8. STL源代码分析(ch 1)组态2
  9. 【Pygame小游戏】首月破亿下载 一款高度融合了「超休闲游戏特性」的佳作~
  10. optee的error codes