C语言实现简单音乐播放器

通过cmd窗口交互和键盘按键切换歌曲 

#include<windows.h>
#include<mmsystem.h>
#include<stdio.h>
#pragma comment(lib,"Winmm.lib")
int main(void)
{	//open指令打开需要播放的音乐,alias后面制定了前面文件路径的别名,以后想要操作这个文件直接使用这个别名就可以了.
	//如果音乐文件和我们的debug文件夹在同一目录下,就可以像我这样不用写路径,直接音乐名。
	//如果音乐文件不是上面的情况就得写清楚路径。
	//例: D盘下的demo目录有一个叫1.MP3的文件
	//mciSendString("open D:\\demo\\1.mp3 alias bkmusic", NULL, 0, NULL);
	//	mciSendString("setaudio bkmusic volume to 5", NULL, 0, NULL);  调节音量到5
	//mciSendString("stop bkmusic", NULL, 0, NULL);		//停止播放音乐
	//mciSendString("close bkmusic", NULL, 0, NULL);		//关闭音乐
	//wsprintf(strCommand, "setaudio bkmusic volume to %d", volue);// 构造命令字串   strFileName 是音频文件名,包含路径的,一般是通过GetShortPathName获取到的
	//mciSendString(strCommand, NULL, 0, 0);  // 发送命令


	long volue = 100;  //播放器音量
	TCHAR strCommand[256];
	int i=1,z=1,x,e=1;
	int c,b;
	
	do{
		system("cls");
		printf("****************菜单**********\n");
		printf("1丑八怪\n2天后\n3怪咖\n4别\n5天外来物\n6哑巴\n7其实\n8刚刚好\n9方圆几里\nESC退出\n0音量调节\n");
		printf("选择:");
		fflush(stdin);//清空缓冲区
		c=getch();
		//printf("错误%d  %c",c,c);
		if(c==27)z=0;
		if(c>=49&&c<=57)
		{		switch(c){
				case 49: i=1;break;//49对应键盘横排数字1的按键
				case 50: i=2;break;
				case 51: i=3;break;
				case 52: i=4;break;
				case 53: i=5;break;
				case 54: i=6;break;
				case 55: i=7;break;
				case 56: i=8;break;
				case 57: i=9;break;//9
				}
				mciSendString("close bkmusic", NULL, 0, NULL);		//关闭音乐
				wsprintf(strCommand,"open %d.mp3 alias bkmusic", i);// 构造命令字串
				mciSendString(strCommand, NULL, 0, 0);  // 发送命令
				mciSendString("play bkmusic repeat", NULL, 0, NULL);	
				wsprintf(strCommand, "setaudio bkmusic volume to %d", volue);// 构造命令字串
				mciSendString(strCommand, NULL, 0, 0);  // 发送命令
		}
		
		if(c==32)
		{
			if(e==1){e=0;mciSendString("pause bkmusic", NULL, 0, NULL);}//stop
			else if(e==0){e=1;mciSendString("resume bkmusic", NULL, 0, NULL);}
		}
					
					
		
		if(c==48)
			{x=1;
				do{		system("cls");
						printf("音量调节(再次按0键退出):\n当前音量%d",volue);
						fflush(stdin);//清空缓冲区
						b=getch();
						switch(b)
						{case 45:volue--;break;
						case 61:volue++;break;
						case 48:x=0;break;
						}
				wsprintf(strCommand, "setaudio bkmusic volume to %d", volue);// 构造命令字串s
				mciSendString(strCommand, NULL, 0, 0);  // 发送命令
				
				}while(x==1);
			}	
			
	}while(z==1);

	
//mciSendString("stop bkmusic", NULL, 0, NULL);		//停止播放音乐


	
	
	
	//循环播放音乐

	
	

	
//	system("pause");

	





	return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zx62365

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值