zoukankan      html  css  js  c++  java
  • 如何用c++发出音乐

    如何用c++播放音乐?

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

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

    答案是可以的。

    Beep( A , B )函数

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

    下面给出一个示范

    #include<bits/stdc++.h>
    #include <windows.h>
    #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<bits/stdc++.h>
    #include <windows.h>
    #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)
    

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

    《恋爱循环》

    #include<bits/stdc++.h>
    #include <windows.h>
    
    //作者 ssw02 
    #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);
    	//-----------------------------------------作者 ssw02 -----
    	//----------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);
    	//-----------------------------------------作者 ssw02 -----
    	//----------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);
    	//-----------------------------------------作者 ssw02 -----
    	//----------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);
    	//----------------------------------------作者 ssw02 -----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);
    
    
    }
    

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

  • 相关阅读:
    小学生学python(六)类与函数
    Windows 10 搭建 Flask
    CentOS 8 上安装 python3
    6_7 selenium使用代理IP
    6_6 模拟浏览器的前进后退&窗口句柄切换
    6_5 selenium操作cookie
    6_4 行为链
    6_3 selenium操作表单元素
    6_2 selenium定位元素的方法
    6_1 selenium 安装与 chromedriver安装
  • 原文地址:https://www.cnblogs.com/ssw02/p/10390628.html
Copyright © 2011-2022 走看看