想一下,平时那些好听的音符在程序中怎么实现呢?这个是不是很有意思呀!如果我们自己可以做一个小程序来模拟音乐中七个音符的发音,你是否能够做的到?
接下来,我们就一起去看看这个神奇的声音的来源。。。
首先,我们建一个控制台的项目。这个程序的核心是怎样让系统发音,这就用到了Console类中的Beep()这个方法,它呢,有两个参数,第一个是来控制声音的频率,第二个是来控制时间的长短。
还有一个方法是ReadKey(),它呢,每次读一个字符,它有一个bool型参数,用来控制按下的键是否显示在控制台窗口中。
其中,比较有意思的是,我们还可以对输入的音符进行记录,用于录制我们自己刚刚弹的音乐。这里呢,我们用到了timespan 的类型 ,用来计算时间间隔,还有用到了线程的停顿(Thread.Sheep)。
下面呢,是整个程序的代码,以供参考。
/// <summary> /// 获取声音及改变背景颜色 /// </summary> /// <param name="i"></param> static void Sound(int i) { int fre=(Convert.ToInt32(i) + 13) * 37; switch (i) { case '1': Console.Beep(fre, 300);//第一个参数指定声音的频率,第二个参数指定声音的持续时间 Console.BackgroundColor = ConsoleColor.Blue; Console.Clear(); break; case '2': Console.Beep(fre, 300); Console.BackgroundColor = ConsoleColor.Cyan; Console.Clear(); break; case '3': Console.Beep(fre, 300); Console.BackgroundColor = ConsoleColor.Green; Console.Clear(); break; case '4': Console.Beep(fre, 300); Console.BackgroundColor = ConsoleColor.Red; Console.Clear(); break; case '5': Console.Beep(fre, 300); Console.BackgroundColor = ConsoleColor.Yellow; Console.Clear(); break; case '6': Console.Beep(fre, 300); Console.BackgroundColor = ConsoleColor.White; Console.Clear(); break; case '7': Console.Beep(fre, 300); Console.BackgroundColor = ConsoleColor.Blue; Console.Clear(); break; default: break; } } //该类定义记录输入的字符以及时间间隔 class LL { public char c;//字符 public DateTime d;//时间间隔 } static void Main(string[] args) { Console.SetWindowSize(100,30); List<LL> record = new List<LL>(); while (true) { ConsoleKeyInfo cki = Console.ReadKey(true); char i = cki.KeyChar; if (i != 'q')//如果输入q,则开始按录制的播放 { LL l = new LL(); l.c = i; l.d = DateTime.Now; record.Add(l); Sound(i); } else { for (int k = 0; k < record.Count;k++ ) { TimeSpan tspan; if (k != 0)//如果是第一个,则计算时间间隔 { tspan=record[k].d - record[k-1].d;//计算输入的时间间隔 Console.WriteLine(tspan); Thread.Sleep(tspan);//将当前线程阻塞指定的时间。 } Sound(record[k].c); } record.Clear();//将记录清空 } } }
以上是分享控制台中的钢琴发音小程序的详细内容。更多信息请关注PHP中文网其他相关文章!
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
<🎜>:种植花园 - 完整的突变指南
4 周前ByDDD
<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前By尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
1 个月前By尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
4 周前By尊渡假赌尊渡假赌尊渡假赌
<🎜>掩盖:探险33-如何获得完美的色度催化剂
2 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3汉化版
中文版,非常好用