项目: 用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();//加载周杰伦曲目图像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); //循环播放音乐menu_zhou();settextcolor(RED);outtextxy(6,472,"正在播放: 爱的飞行日记");break;case 'b':mciSendString("open 1稻香.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);menu_zhou();settextcolor(RED);outtextxy(6,472,"正在播放: 稻香");break;case 'c':mciSendString("open 1七里香.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); menu_zhou();settextcolor(RED);outtextxy(6,472,"正在播放: 七里香");break;case 'd':mciSendString("open 1晴天.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);menu_zhou();settextcolor(RED);outtextxy(6,472,"正在播放: 晴天");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,450,"help:请输入你想听的歌曲所对应的字母");
}
void linjunjie()//林俊杰歌曲
{char input;menu_linjunjie();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);menu_linjunjie();settextcolor(YELLOW);outtextxy(6,472,"正在播放: 被风吹过的夏天");break;case 'b':mciSendString("open 2心.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); menu_linjunjie();settextcolor(YELLOW);outtextxy(6,472,"正在播放: 心墙");break;case 'c':mciSendString("open 2她说.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);menu_linjunjie();settextcolor(YELLOW);outtextxy(6,472,"正在播放: 她说");break;case 'd':mciSendString("open 2爱笑的眼睛.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); menu_linjunjie();settextcolor(YELLOW);outtextxy(6,472,"正在播放: 爱笑的眼睛");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();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);menu_xusong();settextcolor(RED);outtextxy(6,472,"正在播放: 幻听");break;case 'b':mciSendString("open 3素颜.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);menu_xusong();settextcolor(RED);outtextxy(6,472,"正在播放: 素颜");break;case 'c':mciSendString("open 3灰色头像.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);menu_xusong();settextcolor(RED);outtextxy(6,472,"正在播放: 灰色头像");break;case 'd':mciSendString("open 3玫瑰花的葬礼.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); menu_xusong();settextcolor(RED);outtextxy(6,472,"正在播放: 玫瑰花的葬礼");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();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); menu_qita();outtextxy(6,472,"正在播放: Love Story");break;case 'b':mciSendString("open 认真的老去.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);menu_qita();outtextxy(6,472,"正在播放: 认真的老去");break;case 'c':mciSendString("open 星.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); menu_qita();outtextxy(6,472,"正在播放: 夜空中最亮的星");break;case 'd':mciSendString("open 无名之辈.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); menu_qita();outtextxy(6,472,"正在播放: 无名之辈");break;case 'e':mciSendString("open 不知所措.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);menu_qita();outtextxy(6,472,"正在播放: 不知所措");break;case 'f':mciSendString("open 十年.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);menu_qita();outtextxy(6,472,"正在播放: 十年");break;case 'g':mciSendString("open 勋章.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); menu_qita();outtextxy(6,472,"正在播放: 勋章");break;case 'h':mciSendString("open 夜航星.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); menu_qita();outtextxy(6,472,"正在播放: 夜航星");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/1Zp1AtEclmHzwd6KWMZSY5Q
提取码:1234
项目: 用C语言写一个图形化的音乐播放器 【C++ / C】相关推荐
- 如何写一个正经的Android音乐播放器 一
Github地址:https://github.com/boybeak/BeMusic 请移步到新文章查看新的教程 以前写过很多次音乐播放器,但是总有一些问题出现,例如: 1,音乐长时间播放问题(即便 ...
- 用jquery写一个属于自己的音乐播放器
看到一个用css3实现的CD的动画,演示在这儿http://codepen.io/_kieran/pen/QNRmep 突然那我就想说给自己做一个音乐播放器吧,说做就做.演示在https://echo ...
- 项目: 用C语言写一个精美图形化的音乐播放器【C++ / C】
目录 最终效果 代码 资源地址 最终效果 代码 /************ 1开头的是周杰伦的歌 2开头的是林俊杰的歌 3开头的是许嵩的歌 *************/ #include<std ...
- 用c语言写一个简单的名人名言播放器
由于上传不了太多代码,我只放了一部分代码块,用的switch语句,case跳转到首页或者下一页,没一页都做成函数包装起来,每一行用一个sleep延时处理.这是个笨方法,也可以用c调用文件调用文件,把搜 ...
- 用python写的一个简易的云音乐播放器
本人最近在学习python,在看了一些教程后,用python写了一个简单的云音乐播放器,下面把主要代码贴上来,其中用到了github上他人写的一个汉字转拼音的库,大家可以在github上找到. #co ...
- 100个vc小项目开发:二、一步一点设计音乐播放器 [I]
100个vc小项目开发:二.一步一点设计音乐播放器 [源码解读] 文章作者: July 软件来源:开源 ================== 1.有不正之处,恳请指正. 2.本文贴出的是关键实现代码部 ...
- html5中音乐播放器怎么写,打造属于自己的音乐播放器 HTML5之audio标签
我的音乐播放器 HTML5中增加了Audio和Video标签,这两个标签的用法非常相似.功能却是相当强大,我们先来看一下Audio标签各个浏览器的支持情况.这里用的依然是Can I Use这个在线网站 ...
- 基于C语言控制台程序的简易MP3音乐播放器
这是我们小学期的第一个大作业,因感受颇深,特此写下这篇博客留作纪念. 内容:设计一个带有播放控制和音量调节功能的控制台音乐播放器,其中播放控制的子菜单能实现播放暂停切换.停止当前曲.播放上一曲和下一曲 ...
- input加progress组合写进度条的简单音乐播放器实现
主要解释一下实现图中的音量进度条效果. 仅供大家参考,勿喷. 查阅了很多资料看了挺多人的代码,但是ajax对于我这个新手小白来说,可能还难以理解,因此分享一个本小白的方法. 本人编程小白,分享实现的方 ...
最新文章
- 使用jquery文件上传控件Uploadify来异步上传图片
- 8、ShardingSphere 之 Sharding-Proxy 实现分库分表
- CAS 5.2.x 单点登录 - 实现原理及源码浅析
- SAP Spartacus RouteReducer
- java NIO和Reactor模式
- idea 父文件_万事开头难!最新MyBatis程序配置教程(IDEA版)
- XSD(XML Schema Definition)学习笔记
- 炒菜机器人放食材的顺序_2年要开1000家 碧桂园旗下千玺机器人餐厅开业
- 使用hMailServer邮箱服务器收发邮件
- python矩阵连乘_python动态演示动态规划解决矩阵连乘
- 我的青春谁做主——经典台词之人生哲理
- VUE3 keep-alive页面切换报错:parentComponent.ctx.deactivate is not a function
- DNS隧道通信的检测
- python实现百度语音合成(超详细!!)
- The Derivation About CNN and Antoencoder
- Hadoop 集群在WebUI界面不能下载文件
- 电子计算机的加减乘除叫做什么,计算机中加减乘除叫什么键
- 支持向量机(一)——线性可分支持向量机
- i512450h和i512500h对比区别大吗
- Python二维码生成器
热门文章
- Python机器学习类库常见问题及解决
- tjoi2018D2T2(luogu4590) 游园会 (状压dp)
- opencv-python:win7下,搭建python2.7.5环境,配置opencv3.1.0准备开工-OpenCV步步精深
- 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-如何设置PLC的扫描周期,运行周期
- UNIX高级环境编程(9)进程控制(Process Control)- fork,vfork,僵尸进程,wait和waitpid...
- Linux SPI总线设备驱动模型详解
- 十七、二叉树的建立与基本操作
- LeetCode5377. 将二进制表示减到1的步骤数
- mate30升级鸿蒙系数据会被清空吗,145直接升级鸿蒙会不会掉资料
- 区块链BaaS云服务(17)纸贵科技Z-BaaS平台“跨链”