zoukankan      html  css  js  c++  java
  • Delphi中用beep函数拼出节奏和歌曲

    On Windows, Beep calls the Windows API MessageBeep.
    BOOL Beep(
        DWORD dwFreq, // sound frequency, in hertz 
        DWORD dwDuration  // sound duration, in milliseconds 
       );

    所以,完全有可能用beep函数拼出节奏和歌曲(当然了,你也可以写个循环发出让人心烦的声音来恶搞别人……)。以下是网上找来的两个例子:

    uses
      SysUtils, Windows;

    //送别
    procedure beepValediction;
    const
      ONE_BEEP = 600;
      HALF_BEEP = 300;

      NOTE_1 = 440;
      NOTE_2 = 495;
      NOTE_3 = 550;
      NOTE_4 = 587;
      NOTE_5 = 660;
      NOTE_6 = 733;
      NOTE_7 = 825;
    begin
      try
        //长亭外
        Beep(NOTE_5, ONE_BEEP);
        Beep(NOTE_3, HALF_BEEP);
        Beep(NOTE_5, HALF_BEEP);
        Beep(NOTE_1 * 2, ONE_BEEP * 2);

        //古道边
        Beep(NOTE_6, ONE_BEEP);
        Beep(NOTE_1 * 2, ONE_BEEP);
        Beep(NOTE_5, ONE_BEEP * 2);

        //芳草碧连天
        Beep(NOTE_5, ONE_BEEP);
        Beep(NOTE_1, HALF_BEEP);
        Beep(NOTE_2, HALF_BEEP);
        Beep(NOTE_3, ONE_BEEP);
        Beep(NOTE_2, HALF_BEEP);
        Beep(NOTE_1, HALF_BEEP);
        Beep(NOTE_2, ONE_BEEP * 4);

        //晚风扶柳笛声残
        Beep(NOTE_5, ONE_BEEP);
        Beep(NOTE_3, HALF_BEEP);
        Beep(NOTE_5, HALF_BEEP);
        Beep(NOTE_1 * 2, HALF_BEEP * 3);
        Beep(NOTE_7, HALF_BEEP);
        Beep(NOTE_6, ONE_BEEP);
        Beep(NOTE_1 * 2, ONE_BEEP);
        Beep(NOTE_5, ONE_BEEP * 2);

        //夕阳山外山
        Beep(NOTE_5, ONE_BEEP);
        Beep(NOTE_2, HALF_BEEP);
        Beep(NOTE_3, HALF_BEEP);
        Beep(NOTE_4, HALF_BEEP * 3);
        Beep(round(NOTE_7 / 2), HALF_BEEP);
        Beep(NOTE_1, ONE_BEEP * 4);

        //天之涯
        Beep(NOTE_6, ONE_BEEP);
        Beep(NOTE_1 * 2, ONE_BEEP);
        Beep(NOTE_1 * 2, ONE_BEEP * 2);

        //地之角  
        Beep(NOTE_7, ONE_BEEP);  
        Beep(NOTE_6, HALF_BEEP);  
        Beep(NOTE_7, HALF_BEEP);  
        Beep(NOTE_1 * 2, ONE_BEEP * 2); 

        //知交半零落  
        Beep(NOTE_6, HALF_BEEP);
        Beep(NOTE_7, HALF_BEEP);
        Beep(NOTE_1 * 2, HALF_BEEP);
        Beep(NOTE_6, HALF_BEEP);
        Beep(NOTE_6, HALF_BEEP);  
        Beep(NOTE_5, HALF_BEEP);
        Beep(NOTE_3, HALF_BEEP);  
        Beep(NOTE_1, HALF_BEEP);  
        Beep(NOTE_2, ONE_BEEP * 4); 

        //一壶浊酒尽余欢  
        Beep(NOTE_5, ONE_BEEP);  
        Beep(NOTE_3, HALF_BEEP);
        Beep(NOTE_5, HALF_BEEP);  
        Beep(NOTE_1 * 2, HALF_BEEP * 3);  
        Beep(NOTE_7, HALF_BEEP);  
        Beep(NOTE_6, ONE_BEEP);  
        Beep(NOTE_1 * 2, ONE_BEEP);  
        Beep(NOTE_5, ONE_BEEP * 2); 

        //今宵别梦寒  
        Beep(NOTE_5, ONE_BEEP);  
        Beep(NOTE_2, HALF_BEEP);  
        Beep(NOTE_3, HALF_BEEP);  
        Beep(NOTE_4, HALF_BEEP * 3);  
        Beep(round(NOTE_7 / 2), HALF_BEEP);  
        Beep(NOTE_1, ONE_BEEP * 3);  
      except
      end;
    end;


    //油和米
    procedure beepYouAndMe;
    const
      ONE_BEEP = 800;

      NOTE_1 = 196;
      NOTE_2 = 262;
      NOTE_3 = 294;
      NOTE_4 = 330;
      NOTE_5 = 392;
    begin
      Beep(NOTE_4, ONE_BEEP);
      Beep(NOTE_5, ONE_BEEP);
      Beep(NOTE_2, ONE_BEEP*2);

      Beep(NOTE_3, ONE_BEEP);
      Beep(NOTE_4, ONE_BEEP);
      Beep(NOTE_1, ONE_BEEP*2);

      Beep(NOTE_2, ONE_BEEP);
      Beep(NOTE_3, ONE_BEEP);
      Beep(NOTE_4, ONE_BEEP);
      Beep(NOTE_5, ONE_BEEP);
      Beep(NOTE_3, ONE_BEEP*4);
    end;

  • 相关阅读:
    PHP 标量类型与返回值类型声明
    如何使用 PHP 语言来编码和解码 JSON 对象
    mongodb的读写分离
    [FWT] UOJ #310. 【UNR #2】黎明前的巧克力
    drcom 不耍流氓
    drcom 不耍流氓
    Visual Studio 自定义项目模板
    Visual Studio 自定义项目模板
    Visual Studio 自定义项目模板
    【广告】win10 uwp 水印图床 含代码
  • 原文地址:https://www.cnblogs.com/jijm123/p/14097916.html
Copyright © 2011-2022 走看看