看过我的博客的人都知道,在C语言中调用几个API函数就可以播放音乐了,而我在博客中也写过Windows图形界面编程中做过一些与音乐有关的程序,如 音乐播放器 音乐贺卡 等 ,可是如果要你在控制台中自己制造音乐,怎么做呢(不是播放音乐文件),
建立Win32控制台程序,在程序中添加下面的代码
#include <stdio.h> #include <conio.h> #include <Windows.h> /*定义1/8时间长度为225ms,中速*/ const unsigned PER = 225; /*定义音阶:低音*/ enum {Do = 262,Re = 294,Mi = 330,Fa = 349,So = 392,La = 440,Xi = 494}; /*定义播放一节音符的函数 f--表示音符,其值为上述定义的枚举型 a-- 表示音高,其值为1(低音)、2(中音)、3(高音) */ void Play(int f,int a,int t) { int i = 0; Beep((unsigned )(f*a),t*PER); } /*定义休止函数*/ void Stop(int t) { Sleep(t*PER); } int main() { while(1) { /*欢乐颂,第一段*/ /*第一节:3 3 4 5*/ Play(Mi,2,2); Play(Mi,2,2); Play(Fa,2,2); Play(So,2,2); /*第二节:5 4 3 2*/ Play(So,2,2); Play(Fa,2,2); Play(Mi,2,2); Play(Re,2,2); /*第三节:1 1 2 3*/ Play(Do,2,2); Play(Do,2,2); Play(Re,2,2); Play(Mi,2,2); /*第四节:3 2 2 -*/ Play(Mi,2,2); Play(Re,2,2); Play(Re,2,4); /*欢乐颂第二段*/ /*第一节:3 3 4 5*/ Play(Mi,2,2); Play(Mi,2,2); Play(Fa,2,2); Play(So,2,2); /*第二节:5 4 3 2*/ Play(So,2,2); Play(Fa,2,2); Play(Mi,2,2); Play(Re,2,2); /*第三节:1 1 2 3*/ Play(Do,2,2); Play(Do,2,2); Play(Re,2,2); Play(Mi,2,2); /*第四节:2 1 1 -*/ Play(Re,2,2); Play(Do,2,2); Play(Do,2,2); } Stop(0); return 0; }
从上面的代码和解释中我们可以看出这是播放贝多芬的名曲《欢乐颂》
执行结果:循环播放贝多芬的名曲《欢乐颂》并且会出现一个DOS窗口(控制台程序的特点)
点击下载程序