想一下,平常那些好聽的音符在程式中怎麼實現呢?這個是不是很有意思!如果我們自己可以做一個小程式來模擬音樂中七個音符的發音,你是否能夠做到的?
接下來,我們就一起去看看這個神奇的聲音的來源。 。 。
首先,我們建造一個控制台的專案。這個程式的核心是怎麼讓系統發音,這就用到了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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

記事本++7.3.1
好用且免費的程式碼編輯器

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

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

禪工作室 13.0.1
強大的PHP整合開發環境