玩无限消乐的设计示例(结束篇)增加情趣之音乐

来源:互联网 发布:java仓库管理系统论文 编辑:程序博客网 时间:2024/06/10 01:11

之上把玩无限消乐的设计示例的设计代码基本发布完成,这里发布一个增加情趣的音乐发声的代码,一个是网络上搜寻到的频率资料写的,另一个则是微软的例子:

        private void 音乐节拍(string 音 = "高", int 律 = 5, int 拍 = 400)        {            if (律 == 1) Console.Beep(音 == "低" ? 262 : 音 == "中" ? 523 : 1046, 拍);            if (律 == 2) Console.Beep(音 == "低" ? 294 : 音 == "中" ? 587 : 1175, 拍);            if (律 == 3) Console.Beep(音 == "低" ? 330 : 音 == "中" ? 659 : 1319, 拍);            if (律 == 4) Console.Beep(音 == "低" ? 349 : 音 == "中" ? 699 : 1397, 拍);            if (律 == 5) Console.Beep(音 == "低" ? 392 : 音 == "中" ? 784 : 1568, 拍);            if (律 == 6) Console.Beep(音 == "低" ? 440 : 音 == "中" ? 880 : 1760, 拍);            if (律 == 7) Console.Beep(音 == "低" ? 494 : 音 == "中" ? 988 : 1976, 拍);            /*             低音  中音  高音一个节拍大约400~500ms自百度文档             261.6  523.3  1045.5             293.7  587.3  1174.7             329.6  659.3  1318.5             349.2  698.5  1396.9             392    784    1568             440    880    1760             493.9  987.8  1975.5*/        }

转微软的例子:

        protected enum 音符时间        { 全音 = 1600, 半音 = 全音 / 2, 四分 = 半音 / 2, 八分 = 四分 / 2, 十六 = 八分 / 2 }        protected enum 音符频率        {            C以下 = 196,            C1 = 220,            升C1 = 233,            C2 = 247,            C3 = 262,/*升C2*/            升C3 = 277,            C4 = 294,            升C4 = 311,            C5 = 330,            C6 = 349,/*升C5*/            升C6 = 370,            C7 = 392,            升C7 = 415        }        protected struct 音律        { /*为了控件C#中的对象的访问权限,定义对象时可以在前面添加修饰符.           修饰符有五种:private(私有的),protected(受保护的),internal(程序集内部的),           public(公开的),以及protectde internal(只有本程序内或者继承于该类的类型可以访问).*/            音符频率 音符; 音符时间 节拍;            public 音律(音符频率 频率, 音符时间 时间)            { 音符 = 频率; 节拍 = 时间; }            public 音符频率 音符音律 { get { return 音符; } }            public 音符时间 音符节拍 { get { return 节拍; } }        }


 

0 0
原创粉丝点击