一个偶然的机会,听到了用蜂鸣器演奏的乐曲,音质不咋地,但总觉得神奇。但其实是一个无脑的操作:
首先,隆重欢迎主角:
Beep
闪亮登场。
注意,B要大写
格式:Beep(d,t);其中d表示音高,t表示节拍长短。
其次,不那么隆重地欢迎配角:
Sleep
同样S要大写
格式:Sleep(t);表示休止符的拍长。
两者都在#include<windows.h>中,注意,万能头不包括windows库。
由于考虑到d其实是音频大小,所以下边给出三个八度的音的音频:
前缀q表示低音,后缀1表示高音,前缀s表示升半度。
摘自大佬博文
#define qdo 262
#define qre 294
#define qmi 330
#define qfa 349
#define qso 392
#define qla 440
#define qsi 494
#define do 523
#define re 578
#define mi 659
#define fa 698
#define so 784
#define la 880
#define si 988
#define do1 1046
#define re1 1175
#define mi1 1318
#define fa1 1480
#define so1 1568
#define la1 1760
#define si1 1976
#define sqdo 277
#define sqre 311
#define sqfa 370
#define sqso 415
#define sqla 466
#define sdo 554
#define sre 622
#define sfa 740
#define sso 831
#define sla 932
#define sdo1 1046
#define sre1 1245
#define sfa1 1480
#define sso1 1661
#define sla1 1865
还有就是拍长,一般在400~900间为宜。(太快了蜂鸣器会受不了)
下面献上一曲《送别》
#define P 700
Beep(so,P);
Beep(mi,P*0.5);Beep(so,P*0.5);
Beep(do1,P*2);
Beep(la,P);
Beep(do1,P);
Beep(so,P*2);
Beep(so,P);
Beep(do,P*0.5);Beep(re,P*0.5);
Beep(mi,P);
Beep(re,P*0.5);Beep(do,P*0.5);
Beep(re,P*2);
Sleep(P*2);
Beep(so,P);
Beep(mi,P*0.5);Beep(so,P*0.5);
Beep(do1,P*1.5);
Beep(si,P*0.5);
Beep(la,P);
Beep(do1,P);
Beep(so,P*2);
Beep(so,P);
Beep(re,P*0.5);Beep(mi,P*0.5);
Beep(fa,P*1.5);
Beep(qsi,P*0.5);
Beep(do,P*2);
Sleep(P*2);
Beep(la,P);
Beep(do1,P);
Beep(do1,P*2);
Beep(si,P);
Beep(la,P*0.5);Beep(si,P*0.5);
Beep(do1,P*2);
Beep(la,P*0.5);Beep(si,P*0.5);
Beep(do1,P*0.5);Beep(la,P*0.5);
Beep(la,P*0.5);Beep(so,P*0.5);
Beep(mi,P*0.5);Beep(do,P*0.5);
Beep(re,P*2);
Sleep(P*2);
Beep(so,P);
Beep(mi,P*0.5);Beep(so,P*0.5);
Beep(do1,P*1.5);
Beep(si,P*0.5);
Beep(la,P);
Beep(do1,P);
Beep(so,P*2);
Beep(so,P);
Beep(re,P*0.5);Beep(mi,P*0.5);
Beep(fa,P*1.5);
Beep(qsi,P*0.5);
Beep(do,P*2);
Sleep(P*2);
Beep(so,P);
Beep(mi,P*0.5);Beep(so,P*0.5);
Beep(do1,P*2);
Beep(la,P);
Beep(do1,P);
Beep(so,P*2);
Beep(so,P);
Beep(do,P*0.5);Beep(re,P*0.5);
Beep(mi,P);
Beep(re,P*0.5);Beep(do,P*0.5);
Beep(re,P*2);
Sleep(P*2);
Beep(so,P);
Beep(mi,P*0.5);Beep(so,P*0.5);
Beep(do1,P*1.5);
Beep(si,P*0.5);
Beep(la,P);
Beep(do1,P);
Beep(so,P*2);
Beep(so,P);
Beep(re,P*0.5);Beep(mi,P*0.5);
Beep(fa,P*1.5);
Beep(qsi,P*0.5);
Beep(do,P*2);
Sleep(P*2);
更多巧用Beep(),且看下回分解。