问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

谁会用c语言编一个“音乐播放器”。。。要涉及‘编码、数组、函数、文件’等知识。。。十万火急,

发布网友 发布时间:2022-05-03 07:16

我来回答

2个回答

热心网友 时间:2023-10-13 22:45

#include <dos.h>
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
#include <conio.h>
void main()
{
void set(int *set1,int *set2,char *f,char *n,int *t,int rate,int num);
void music(int *set1,int *set2,int num);
int flag=0;
FILE *f1;
int t;
int rate;
char in[3];
int i;
int n;
char *frequency;
char *note;
int *time;
int *set1;
int *set2;
int menu;
int FileName[30];
while(1)
{
f1=NULL;
flag=0;
frequency=NULL;
note=NULL;
time=NULL;
set1=NULL;
set2=NULL;
i=n=0;
printf("1 播放程序自带的音乐music1\n");
printf("2 播放程序自带的音乐music2\n");
printf("3 通过输入文件名进行音乐的播放\n");
printf("4 退出\n");

while(1)
{
scanf("%d",&menu);
if(menu==1)
{
strcpy(FileName,"music1.txt");
break;
}
if(menu==2)
{
strcpy(FileName,"music2.txt");
break;
}
if(menu==3)
{
scanf("%s",FileName);
break;
}
if(menu==4)
exit(1);

}
printf("\n该文件的音乐编码如下:\n");

/*-------------------------------------*/
if((f1=fopen(FileName,"r"))==NULL)
{
printf("不能打开文件!\n");
exit(1);
}
/*-------------------------------------*/

fscanf(f1,"%d",&rate);

frequency=(char *)malloc(sizeof(char));

note=(char *)malloc(sizeof(char));

time=(int *)malloc(sizeof(int));

while(!feof(f1)&&flag!=1)
{
fscanf(f1,"%s%d",in,&t);
if(t!=-1)
{
printf("%s %d ",in,t);
frequency[i]=in[0];
note[i]=in[1];
time[i]=t;
i++;
n++;
frequency=(char *)realloc(frequency,(i+1)*sizeof(char));
note=(char *)realloc(note,(i+1)*sizeof(char));
time=(int *)realloc(time,(i+1)*sizeof(int));
}
else
flag=1;
}
fclose(f1);

for(i=0;i<n;i++)
{
switch(frequency[i])
{

case 'h':
switch(note[i])
{
case '1':
note[i]=523;
time[i]=time[i]*rate;
break;
case '2':
note[i]=587;
time[i]=time[i]*rate;
break;
case '3':
note[i]=659;
time[i]=time[i]*rate;
break;
case '4':
note[i]=698;
time[i]=time[i]*rate;
break;
case '5':
note[i]=784;
time[i]=time[i]*rate;
break;
case '6':
note[i]=880;
time[i]=time[i]*rate;
break;
case '7':
note[i]=988;
time[i]=time[i]*rate;
break;
}
break;
case 'm':
switch(note[i])
{
case '1':
note[i]=262;
time[i]=time[i]*rate;
break;
case '2':
note[i]=296;
time[i]=time[i]*rate;
break;
case '3':
note[i]=330;
time[i]=time[i]*rate;
break;
case '4':
note[i]=349;
time[i]=time[i]*rate;
break;
case '5':
note[i]=392;
time[i]=time[i]*rate;
break;
case '6':
note[i]=440;
time[i]=time[i]*rate;
break;
case '7':
note[i]=494;
time[i]=time[i]*rate;
break;
}
break;
case 'l':
switch(note[i])
{
case '1':
note[i]=131;
time[i]=time[i]*rate;
break;
case '2':
note[i]=147;
time[i]=time[i]*rate;
break;
case '3':
note[i]=165;
time[i]=time[i]*rate;
break;
case '4':
note[i]=175;
time[i]=time[i]*rate;
break;
case '5':
note[i]=196;
time[i]=time[i]*rate;
break;
case '6':
note[i]=220;
time[i]=time[i]*rate;
break;
case '7':
note[i]=247;
time[i]=time[i]*rate;
break;
}
break;

}
for(i=0;i<n;i++)
{
sound(note[i]);
delay(time[i]);
nosound();
}

free(frequency);
free(note);
free(time);
free(set1);
free(set2);
putchar('\n');
}

}

}

热心网友 时间:2023-10-13 22:45

曾经用汇编编过一个类似的程序,用c语言编就非常简单了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
人教版小学英语课本哪里能下载到MP3 小学英语同步听力音频去哪里找 去陆丰旅行,要提前做好什么准备? 请教高手:苹果6s能不能安装两个微信?谢谢指点! 对于一个在女性内衣店工作的男性,你们怎么看待 ...湖是世界最深和蓄水量最大的咸水湖 B.死海是世界最低点 C.马来群 ... ...世界最大的湖泊___世界上人口最多的国家___世界上面积最大... 世界最深和蓄水量最大的湖是什么?世界最低点是哪?世界面积最大的高原... 尚赫净水器滤芯 如何清洗尚赫 信用卡在申请分期之后是不是当月的账单是不是不用还了下个月开始还款? 信用卡分期还款首月是指这个月还还是下个月还 交通银行信用卡分期付款从第二个月开始还么? 兴业银行信用卡分期还款怎么还我办理了分期还款,这个月是不是不用还款,从下个月开始还款? 豊川渚的详细资料,谢谢! 更换手机号时一直提示“为了你的微信账号安全,暂不能进行绑定手机操作”,也一直验证不了? icloud备忘录如何登录 苹果6ios8备忘录可以设密码吗 苹果8备忘录密码忘记了,重设密码后还是不能看之前的内容,有什么办法吗?急急急,关系到一生的幸福 苹果8手机的备忘录如何导入到电脑中? 在长寿湖钓鱼主要带什么饵料? sql server数据库课程设计(源程序和文档)怎么打开实现?? 吃哪一类水果和蔬菜有助于血液循环? 牙齿经常出血刷牙吃水果都会有血 流了三十多年的齿血,为什么?经常流,有时齿一用点力血就出,有时吃点水果什么的血也出,出血牙齿主要在 吃啥水果嘴上血里呼拉的 每次吃水果水果上面都有血,我照镜子看到牙齿下面有点黑,是不是牙齿下面的那个地方坏了需要去哪看 每天都有吃很多水果和蔬菜啊,为什么一直牙龈出血 我刷牙的时候轻轻刷就会出很多血,有时候吃水果比如啃个苹果也会出血,为什么呢? 你好我每天刷牙牙齿会出血是怎么回事?而且吃水果有时候也会有血迹印! QQ音乐播放器,我点添加音乐的那个“+”符号时,它就自动播放那首歌了,但是我不想它现在就播放,怎么办? 图标是黄色的音乐符号的音乐软件有哪些? 苹果没电时怎么没有提示音 一般生成条码,除了C D之外还有什么软件啊??? 条形码制作软件有哪些 请问:条形码用何软件可以自己制作~~?? 正规条码生成器用的什么软件 如何知道对方的QQ号码是才买的?新的?不是自己以前一直在用的,是才换的? qq对方显示离线状态或离线请留言,打qq电话显示正在呼叫但是没人接,是在线还是不在线?怎么看对方是 给一个人打Qq电话,对方没有接,是不是一定说明他没有登Qq?或者手机不在身边? 如何看对方QQ是不是骗子 QQ电话呼叫对方显示等待对方接听和对方网络良好,能说明对方手机开机吗... 小学英语听课评价语 急求牛津版小学英语听课笔记啊 国城一成语是什么成语 国城是什么成语 国城是什么成语呢? 国城打一成语是什么成语 国城两个字成语是什么 国城打一成语什么成语