91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

控制臺中鋼琴發音小程序的示例

發布時間:2021-03-02 14:11:32 來源:億速云 閱讀:128 作者:小新 欄目:移動開發

這篇文章主要介紹控制臺中鋼琴發音小程序的示例,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

首先,我們建一個控制臺的項目。這個程序的核心是怎樣讓系統發音,這就用到了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();//將記錄清空
                }

            }

        }

以上是“控制臺中鋼琴發音小程序的示例”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临潭县| 湾仔区| 呼玛县| 鹤岗市| 浦江县| 昌江| 惠水县| 泸水县| 东乌珠穆沁旗| 罗江县| 海宁市| 揭东县| 高清| 宿迁市| 湾仔区| 平昌县| 三原县| 汪清县| 亳州市| 会宁县| 苏州市| 沾化县| 霸州市| 合作市| 类乌齐县| 酒泉市| 湘乡市| 凌源市| 鹤山市| 郑州市| 赤城县| 福泉市| 金山区| 望都县| 墨竹工卡县| 鹤庆县| 溧水县| 玉林市| 河间市| 休宁县| 汤阴县|