博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何用c++发出音乐
阅读量:7094 次
发布时间:2019-06-28

本文共 3892 字,大约阅读时间需要 12 分钟。

如何用c++播放音乐?

c++作为每一个OIer的日常伙伴,打久了,不免有些乏味和疲倦

那么,我们是否可以让没有音响的电脑播放音乐呢?

答案是可以的。

Beep( A , B )函数

其中A代表 音调 ,B 代表发声的长短(毫秒)

下面给出一个示范

#include
#include
#define n1 532 // do 1音#define D 250 //定义 D 为 1拍int main(){ Beep( n1 , D ) ; return 0 ;}

这就是 do 音。是不是很简单呢?

但是我们要注意,Beep() 并不在万能头文件中,而是存在 windows 库中。后面要用的 Sleep() 函数也是如此。

在理解了 Beep() 函数后 , 我们来了解一下 Sleep() 函数。

Sleep( A ) , A表示暂停时间(毫秒)

#include
#include
#define n1 532 // do 1音#define D 250 //定义 D 为 1拍int main(){ Beep( n1 , D ) ; Sleep( D ); Beep( n1 , D ) ; return 0 ;}

运行后发现 两个 do 音之间有了时间间隔

了解寄出后,我们可以自定义一些基础乐理的快捷方式,给出基础板子(不用谢,给个赞就行

#define l1 262#define l2 294#define l3 330#define l4 349#define l5 392#define l6 440#define l7 493#define n1 532#define n2 588#define n3 660#define n4 698#define n5 784#define n6 880#define n7 988#define h1 1046#define h2 1175#define h3 1319#define h4 1397#define h5 1568#define h6 1760#define h7 1976#define A 1600*1.25 //四拍#define B 800*1.25  //两拍#define C 400*1.25  //一拍#define D 200*1.25  //半拍#define E 100*1.25  //1/4拍#define F 50*1.25   //1/8拍#define S(i) Sleep(i)

最后献上由本人(cdqz_ssw)亲自编写的

《恋爱循环》

#include
#include
//作者 cdqz_ssw #define l1 262#define l2 294#define l3 330#define l4 349#define l5 392#define l6 440#define l7 493#define n1 532#define n2 588#define n3 660#define n4 698#define n5 784#define n6 880#define n7 988#define h1 1046#define h2 1175#define h3 1319#define h4 1397#define h5 1568#define h6 1760#define h7 1976#define A 1600*1.25 //四拍#define B 800*1.25 //两拍#define C 400*1.25 //一拍#define D 200*1.25 //半拍#define E 100*1.25 //1/4拍#define F 50*1.25 //1/8拍#define S(i) Sleep(i)#define wq( i , j ) Beep( i , j )int main(){ wq(n3,D);wq(n4,D);wq(n3,D);wq(n4,D);wq(n5,C);wq(n3,D);wq(n4,D); wq(n3,D);wq(n4,D);wq(n5,C);wq(n5,D);wq(n4,D);wq(n3,D);wq(n4,D); wq(n3,E);wq(n1,D);wq(n1,D);wq(n1,E);wq(l6,D); wq(n3,E);wq(n1,D);wq(n1,D);wq(n1,E);wq(l6,D); wq(n1,E);wq(n1,D);wq(n1,D);wq(n1,E);wq(l6,D);wq(n3,C);S(C); //-----------------------------------------作者 cdqz_ssw ----- //----------C1----D0.5---------------------------------------2 wq(n3,D);wq(n4,D);wq(n3,D);wq(n4,D);wq(n5,C);wq(n3,D);wq(n4,D); wq(n3,D);wq(n4,D);wq(n5,C);wq(n5,D);wq(n4,D);wq(n3,D);wq(n4,D); wq(n3,E);wq(n1,D);wq(n1,D);wq(n1,E);wq(l6,D); wq(n3,E);wq(n1,D);wq(n1,D);wq(n1,E);wq(n2,D); wq(n1,E);wq(n1,D);wq(n1,D);wq(n1,E);wq(n3,D);wq(n3,C);S(C); //-----------------------------------------作者 cdqz_ssw ----- //----------C1----D0.5---------------------------------------3 wq(n5,C);wq(n3,C);wq(n2,C);wq(n3,D);wq(n3,D); wq(n2,D);wq(n1,D);wq(n2,D);wq(n3,B);wq(n3,D); wq(n6,C);wq(n3,C);wq(n2,C);wq(n1,D);wq(n1,D); wq(n1,D);wq(n2,D);wq(n3,D);wq(n2,C);S(C);S(D); //-----------------------------------------作者 cdqz_ssw ----- //----------C1----D0.5---------------------------------------4 wq(n5,C);wq(n3,C);wq(n2,C);wq(n3,D);wq(n3,D); wq(n2,D);wq(n1,D);wq(n2,D);wq(n3,B);wq(n3,D); wq(n6,C);wq(n3,C);wq(n1,C);wq(n3,C); wq(n1,C);S(C);S(C);S(D);wq(n1,E);wq(l5,E); //----------------------------------------作者 cdqz_ssw -----1 //----------C1----D0.5---------------------------------------4 wq(l6,375);wq(l6,375);wq(l5,D);wq(n1,375);wq(n1,E);S(D);wq(n1,E);wq(l5,E); wq(l6,375);wq(l6,375);wq(l5,D);wq(n1,375);wq(n3,E);S(D);wq(n1,E);wq(l5,E); wq(l6,375);wq(l6,D);wq(l6,E);wq(n5,D);wq(n1,375);wq(n1,D);wq(n1,E);wq(n2,D); wq(n1,375);wq(n1,E);S(E);wq(n1,E);wq(l6,D);wq(n3,C);S(D);wq(n1,E);wq(l5,E); wq(l6,375);wq(l6,375);wq(l5,D);wq(n1,375);wq(n1,E);S(D);wq(n1,E);wq(l5,E); wq(l6,375);wq(l6,375);wq(l5,D);wq(n3,375);wq(n1,E);S(D);wq(n1,E);wq(l5,E); wq(l6,375);wq(l6,D);wq(l6,E);wq(n5,D);wq(n1,375);wq(n1,D);wq(n1,E);wq(n2,D); wq(n1,375);wq(n1,D);wq(n3,375);wq(n1,C);S(C);}

谢谢观赏,如果你喜欢我的文章,请大力点赞!!

转载于:https://www.cnblogs.com/ssw02/p/10390628.html

你可能感兴趣的文章
[转]云计算之hadoop、hive、hue、oozie、sqoop、hbase、zookeeper环境搭建及配置文件
查看>>
80.禁用消休眠功能
查看>>
堡垒(fortress)
查看>>
用UIImagePickerViewController自定义相机界面
查看>>
关于在系统中插入视频聊天的功能问题
查看>>
Leetcode#114Flatten Binary Tree to Linked List
查看>>
七牛云冯立元:边缘存储的演进之路
查看>>
详解用户,组,权限管理
查看>>
Linux基础命令---slabtop
查看>>
基于RabbitMQ RPC实现的主机异步管理
查看>>
PHP-学习笔记-进阶
查看>>
自动化安装linux--cobbler
查看>>
利用spaCy和Cython实现高速NLP项目
查看>>
手动启动Tomcat服务
查看>>
Citrix Netscaler/AG结合DKEY短信动态密码认证方案
查看>>
我的友情链接
查看>>
Android灵动分析入门指南
查看>>
mysql ibdata file
查看>>
我的友情链接
查看>>
dtoj#4238. 交通(traffic)
查看>>