1. 程式人生 > >發現一個有趣的小程式,可以控制系統聲音播放音樂

發現一個有趣的小程式,可以控制系統聲音播放音樂

網上無意中發現的,在這裡存一存程式碼:

可以控制系統的電子聲播放音樂

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <string>
#include <iostream>
#include <windows.h>
#include <stack>
#include <queue>
#include <vector>
#include <algorithm>
#define mem(a,b) memset(a,b,sizeof(a))
#define N 65536+20
#define M 105105+20
#define inf 0x3f3f3f3f
using namespace std;
int main(void)
{
    int choice;
    void play_xiaoxingxing(void);
    void play_molihua(void);
    void play_zhaopengyou(void);
    void play_shangxuege(void);
    void play_yifenqian(void);
    void play_zhengfu(void);
    void play_canghaiyishengxiao(void);
    void play_tonghua(void);
    void play_tongzhuodeni(void);
    void play_xiaoxiongheyangwawa(void);
    while(1)
    {
        printf("請選擇需要演奏的曲目:\n");
        printf("【1】《小星星》\n");
        printf("【2】《茉莉花》\n");
        printf("【3】《找朋友》\n");
        printf("【4】《上學歌》\n");
        printf("【5】《一分錢》\n");
        printf("【6】《征服》\n");
        printf("【7】《滄海一聲笑》\n");
        printf("【8】《童話》\n");
        printf("【9】《同桌的你》\n");
        printf("【10】《小熊和洋娃娃》\n");
        printf("【0】退出程式\n");
        printf("\n");
        printf("請選擇:");
        scanf("%d",&choice);
        switch(choice)
        {
        case 1:
            play_xiaoxingxing();
            break;
        case 2:
            play_molihua();
            break;
        case 3:
            play_zhaopengyou();
            break;
        case 4:
            play_shangxuege();
            break;
        case 5:
            play_yifenqian();
            break;
        case 6:
            play_zhengfu();
            break;
        case 7:
            play_canghaiyishengxiao();
            break;
        case 8:
            play_tonghua();
            break;
        case 9:
            play_tongzhuodeni();
            break;
        case 10:
            play_xiaoxiongheyangwawa();
            break;
        case 0:
            break;
        default:
            printf("輸入有誤!請正確輸入!\n");
        }
        Beep(0,1000);//暫停一秒鐘
        printf("\n");
        if(choice==0)
        {
            printf("\n謝謝使用,再見!");
            Beep(0,1000);//暫停一秒鐘
            break;
        }
    }
    return 0;
}

/*返回數字簡譜中數字t所對應的頻率*/
int notation_frequency(int t)
{
    switch (t)
    {
    /*中音部分:1,2,3,4,5,6,7*/
    case 1:
        return 523;
    case 2:
        return 587;
    case 3:
        return 659;
    case 4:
        return 698;
    case 5:
        return 784;
    case 6:
        return 880;
    case 7:
        return 988;
    /*低音部分:-1,-2,-3,-4,-5,-6,-7*/
    case -1:
        return 262;
    case -2:
        return 294;
    case -3:
        return 330;
    case -4:
        return 349;
    case -5:
        return 392;
    case -6:
        return 440;
    case -7:
        return 494;
    /*高音部分:11,12,13,14,15,16,17*/
    case 11:
        return 1047;
    case 12:
        return 1175;
    case 13:
        return 1319;
    case 14:
        return 1397;
    case 15:
        return 1568;
    case 16:
        return 1760;
    case 17:
        return 1976;
    /*安靜:0,不合法數值*/
    default:
        return 0;
    }
}

/*演奏《小星星》*/
void play_xiaoxingxing(void)
{
    int i;
    int _xiaoxingxing[48]= {1,1,5,5,6,6,5,0,
                            4,4,3,3,2,2,1,0,
                            5,5,4,4,3,3,2,0,
                            5,5,4,4,3,3,2,0,
                            1,1,5,5,6,6,5,0,
                            4,4,3,3,2,2,1,0
                           };//小星星樂譜
    int notation_frequency(int t);
    printf("請欣賞樂曲《小星星》……\n");
    Beep(0,1000);//暫停一秒鐘
    for (i=0; i<=47; i++)
    {
        if(_xiaoxingxing[i]==0) printf("\n");
        else printf("%d",_xiaoxingxing[i]);
        Beep(notation_frequency(_xiaoxingxing[i]),1000);
    }
    printf("演奏完畢!謝謝欣賞!\n");
}
/*演奏《茉莉花》*/
void play_molihua(void)
{
    int i,t;
    int _molihua[72]= {3,3,5,6,11,11,6,5,0, 5,6,5,0, 3,3,5,6,11,11,6,5,0, 5,6,5,0, 5,5,5,3,5,6,0, 6,6,5,0, 3,2,3,5,0, 3,2,1,0, 1,2,1,0, 3,2,1,2,0, 3,5,6,11,6,5,0, 5,2,3,5,3,2,1,2,1,0 }; //茉莉花樂譜
    int notation_frequency(int t);
    printf("請欣賞樂曲《茉莉花》……\n");
    Beep(0,1000);//暫停一秒鐘
    for (i=0; i<=71; i++)
    {
        t=_molihua[i];
        if(t<0) t=-t;
        t=t%10;
        if(t==0) printf("\n");
        else printf("%d",t);
        Beep(notation_frequency(_molihua[i]),1000);
    }
    printf("演奏完畢!謝謝欣賞!\n");
}
/*演奏《找朋友》*/
void play_zhaopengyou(void)
{
    int i,t;
    int _zhaopengyou[32]= {5,6,5,6,5,6,5,0, 5,11,7,6,5,5,3,0, 5,5,3,3,5,5,3,0, 2,4,3,2,1,2,1,0, }; //找朋友樂譜
    int notation_frequency(int t);
    printf("請欣賞樂曲《找朋友》……\n");
    Beep(0,1000);//暫停一秒鐘
    for (i=0; i<=31; i++)
    {
        t=_zhaopengyou[i];
        if(t<0) t=-t;
        t=t%10;
        if(t==0) printf("\n");
        else printf("%d",t);
        Beep(notation_frequency(_zhaopengyou[i]),1000);
    }
    printf("演奏完畢!謝謝欣賞!\n");
}
/*演奏《上學歌》*/
void play_shangxuege(void)
{
    int i,t;
    int _shangxuege[30]= {1,2,3,1,5,0, 6,6,11,6,5,0, 6,6,11,0, 5,6,3,0, 6,5,3,5,3,1,2,3,1,0 }; //找朋友樂譜
    int notation_frequency(int t);
    printf("請欣賞樂曲《上學歌》……\n");
    Beep(0,1000);//暫停一秒鐘
    for (i=0; i<=29; i++)
    {
        t=_shangxuege[i];
        if(t<0) t=-t;
        t=t%10;
        if(t==0) printf("\n");
        else printf("%d",t);
        Beep(notation_frequency(_shangxuege[i]),1000);
    }
    printf("演奏完畢!謝謝欣賞!\n");
}
/*演奏《一分錢》*/
void play_yifenqian(void)
{
    int i,t;
    int _yifenqian[52]= {5,11,6,11,5,0, 3,5,2,3,5,0, 3,5,6,11,5,6,5,3,5,1,0, 3,2,0, 3,2,1,2,3, 0, 6,5,3,5,6,0, 5,11,11,6,5,6,3,0, 5,2,3,2,1,0 }; //找朋友樂譜
    int notation_frequency(int t);
    printf("請欣賞樂曲《一分錢》……\n");
    Beep(0,1000);
    //暫停一秒鐘
    for (i=0; i<=51; i++)
    {
        t=_yifenqian[i];
        if(t<0) t=-t;
        t=t%10;
        if(t==0) printf("\n");
        else printf("%d",t);
        Beep(notation_frequency(_yifenqian[i]),1000);
    }
    printf("演奏完畢!謝謝欣賞!\n");
}
/*演奏《征服》*/
void play_zhengfu(void)
{
    int i,t;
    int _zhengfu[33]= {5,11,7,5,5,6,5,0, 5,11,7,5,6,3,6,0, 6,6,6,5,3,3,4,0, 4,4,4,5,6,3,2,2,0, }; //征服樂譜
    int notation_frequency(int t);
    printf("請欣賞樂曲《征服》……\n");
    Beep(0,1000);//暫停一秒鐘
    for (i=0; i<=32; i++)
    {
        t=_zhengfu[i];
        if(t<0) t=-t;
        t=t%10;
        if(t==0) printf("\n");
        else printf("%d",t);
        Beep(notation_frequency(_zhengfu[i]),1000);
    }
    printf("演奏完畢!謝謝欣賞!\n");
}

 /*演奏《滄海一聲笑》*/
void play_canghaiyishengxiao(void)
{
    int i,t;
    int _canghaiyishengxiao[31]= {12,12,1,6,5,4,0, 6,5,4,2,1,0, 1,2,1,2,4,4,5,6,11,0, 12,12,11,6,5,4,5,0 }; //滄海一聲笑樂譜
    int notation_frequency(int t);
    printf("請欣賞樂曲《滄海一聲笑》……\n");
    Beep(0,1000);//暫停一秒鐘
    for (i=0; i<=30; i++)
    {
        t=_canghaiyishengxiao[i];
        if(t<0) t=-t;
        t=t%10;
        if(t==0) printf("\n");
        else printf("%d",t);
        Beep(notation_frequency(_canghaiyishengxiao[i]),1000);
    }
    printf("演奏完畢!謝謝欣賞!\n");
}
 /*演奏《童話》*/
void play_tonghua(void)
{
    int i,t;
    int _tonghua[46]= {5,4,3,0, 3,4,3,0, 3,4,3,4,3,2,1,0, 1,3,5,6,0, 6,6,5,2,2,4,3,0, 1,3,5,6,0, 6,6,7,6,5,4,3,4,3,2,1,0, }; //童話樂譜
    int notation_frequency(int t);
    printf("請欣賞樂曲《童話》……\n");
    Beep(0,1000);//暫停一秒鐘
    for (i=0; i<=45; i++)
    {
        t=_tonghua[i];
        if(t<0) t=-t;
        t=t%10;
        if(t==0) printf("\n");
        else printf("%d",t);
        Beep(notation_frequency(_tonghua[i]),1000);
    }
    printf("演奏完畢!謝謝欣賞!\n");
}
 /*演奏《同桌的你》*/
void play_tongzhuodeni(void)
{
    int i,t;
    int _tongzhuodeni[71]= {5,5,5,5,3,4,5,7,0, 6,6,6,6,4,6,5,0, 5,5,5,5,7,6,5,4,0, 4,4,4,4,3,2,1,0, 11,11,11,11,5,6,11,11,11,11,0, 12,12,12,12,11,7,6,0, 7,7,7,7,7,11,12,0, 5,0, 7,7,11,12,11,7,11,0, }; //同桌的你樂譜
    int notation_frequency(int t);
    printf("請欣賞樂曲《同桌的你》……\n");
    Beep(0,1000);//暫停一秒鐘
    for (i=0; i<=70; i++)
    {
        t=_tongzhuodeni[i];
        if(t<0) t=-t;
        t=t%10;
        if(t==0) printf("\n");
        else printf("%d",t);
        Beep(notation_frequency(_tongzhuodeni[i]),1000);
    }
    printf("演奏完畢!謝謝欣賞!\n");
}
/*演奏《小熊和洋娃娃》*/
void play_xiaoxiongheyangwawa(void)
{
    int i,t;
    int _xiaoxiongheyangwawa[77]= {1,0, 2,3,4,5,5,5,4,3,4,4,4,3,2,1,3,5,1,0, 2,3,4,5,5,5,4,3,4,4,4,3,2,1,3,1,6,0, 6,6,5,4,5,5,5,4,3,4,4,4,3,2,1,3,5,6,0, 6,6,5,4,5,5,5,4,3,4,0, 4,4,3,2,1,0, 3,1,0, }; //小熊和洋娃娃樂譜
    int notation_frequency(int t);
    printf("請欣賞樂曲《小熊和洋娃娃》……\n");
    Beep(0,1000);//暫停一秒鐘
    for (i=0; i<=76; i++)
    {
        t=_xiaoxiongheyangwawa[i];
        if(t<0) t=-t;
        t=t%10;
        if(t==0) printf("\n");
        else printf("%d",t);
        Beep(notation_frequency(_xiaoxiongheyangwawa[i]),1000);
    }
    printf("演奏完畢!謝謝欣賞!\n");
}


相關推薦

發現一個有趣程式可以控制系統聲音播放音樂

網上無意中發現的,在這裡存一存程式碼: 可以控制系統的電子聲播放音樂 #include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> #incl

微信程式例子——使用audio元件播放音樂

1、效果展示 2、關鍵程式碼 1、index.wxml 2、index.js Page({ data: { audioPoster: 'http://y.gtimg.cn/m

發現一個好用免費的程式客服系統

尋求一款比微信小程式自帶客服功能強一點,免費的小程式客服系統!本人不懂程式碼,想先找一個免費的體驗下,能實現以下效果就行! ① 自動回覆:比如開啟客服回覆,關鍵詞回覆,收到訊息回覆!(靈活設定) ② 關鍵詞回覆:具備統計功能(方便預估活動效果) ③ 使用者管理:打標

閒來無事用Python寫了一個pm2.5查詢程式還是很有趣

    今天教大家用python完成首個MVP,如何用CLI(command-line interface,命令列介面)來執行第一個空氣質量查詢程式。 更多Python視訊、原始碼、資料加群960410445免費獲取   知識點

5款小巧有趣的微信程式個個讓你心花怒放!

自從小程式火爆之後,可謂是無所不知,無所不曉,現在小程式已經走進了千萬家,小程式之所以能夠獲得大家的喜愛,主要還是因為它小巧,方便快捷,不用下載就可以使用,完全不佔用手機空間,所以今天小編給大家分享幾個很實用的微信小程式。 1.動動文字 一款純文字動態表情製作神器 總結:這款微信小程式是聊天、耍

用python寫一個程式解決買水果的問題?

問題: 商店總共有三種水果,香蕉/蘋果/葡萄,單價分別為3.5/5.0/3.0元/500克。 寫一個小程式實現:          1、輸出一個選單:列印每種水果的價格:          2、尋問客戶欲購買水果?          3、客戶想購買的克數?    

7個黑科技十足的微信程式一個都能讓你念念不舍!

微信上最為出名的想必就最為小程式了!基本上與現有的軟體也就相差毫幾,有些人為了免下軟體幾乎都用上了,那為什麼有那麼多人都鍾愛於小程式呢?其關鍵原因就是方便,只要用微信一個軟體,就可以隨意使用任何小程式了! 那麼今天小編在這裡就為大家分享7個非常好用的微信小程式,個個都黑科技十足!讓你念念不舍。

5個伴你成長的微信程式一個都是一等一的能手!

每個小程式的出現都各有各的用途,而每個小程式也不可能都深受大家的討厭,也不可能大家都會喜歡,各有各的好,用的上就不錯,所以,今天給大家分享5個伴你成長的微信小程式,希望大家能夠喜歡。 1.實驗樓 一款海量學習課程的工具 這款小程式的分類是非常明確的,所包含的課成也是對大家有幫助的,如we

微信程式如何在返回前一個頁面時執行前一個頁面的方法

var pages = getCurrentPages(); // 當前頁面 var beforePage = pages[pages.length - 2]; // 前一個頁面 // console.log("beforePage"); // console.log

編寫一個程式判斷系統是big endian還是little endian

// Endian_1.cpp : 定義控制檯應用程式的入口點。 // #include "stdafx.h" #include <stdlib.h> #include <st

程式會是下一個創業風口嗎

小程式,創業者們的狂躁與迷思 記得在16年的9月份,就有訊息說微信推出的小程式,一時間大家對於小程式的關注就從來沒有減少過。或許是經過15年移動網際網路大潮之後,16年網際網路一下子寂靜了許多的原因,大家對於小程式給予了很高的期望。我也從那時候起開始研究小程式

一些內建方法的使用一個驚豔的程式內建方法的一些使用

import jsonfrom collections import namedtuple # 命名元祖Card = namedtuple('Card','rank suit')c1 = Card(2,'紅心')class FranchDeck: ranks = [str(rank) for ran

微信程式一個有侷限的類似 React Native 輪子

微信小程式就是一個類似RN的輪子,可以快速開發,有一定的適用場景,但是也有其侷限性。(結論是基於微信小程式的示例程式碼做的解讀,可能存在謬誤。 文末有好奇心日報小程式的二維碼,歡迎圍觀。 2016年11月25日 更新 更新一些最新的認識和進展。 首先微信小程式不是純原生應用

習題9:設計一個Windows應用程式窗體上有一個TextBox控制元件、一個Button控制元件。

設計一個Windows應用程式,窗體上有一個TextBox控制元件、一個Button控制元件。要求,每當使用者單擊按鈕時,文字框都會增加一行文字來反映單擊的次數,例如“第3次單擊按鈕”。 【解答】 1) 窗體介面如圖Ex5-5-1所示; 2) 窗體中主要控制元件屬性設

程式點選圖片自動播放視訊停止上一個視訊播放

通過列表的點選事件自動播放列表對應的視訊,同時停止上一個視訊的播放 原始碼: <view> <view class='vv' wx:for='{{vedio_data}}' w

【JavaEE學習筆記】Spring_01_工廠模式Spring程式IoC控制反轉

Spring_01 A.工廠模式 1.概述 是由專家總結出來的,在某種情況下解決某類問題的最佳解決方案 設計模式六大原則 單一職責原則 里氏替換原則 依賴倒置原則 介面隔離原則 迪米特法則 開

松教你手遊開發】【unity實用技能】u3d 當你發現一個函式被呼叫但是完全找不到是誰呼叫的時候

一般有可能是通過函式名作為字串呼叫,但是這種在除錯時也是能跟蹤到 而如果連除錯都跟蹤不到的時候,看看是不是動畫效果。 如果是的話可能是在那個特效中呼叫。 這樣的話除錯也跟蹤不到。 這種時候要找的話要定位到對應的GameObject上,開啟Animation,檢視 長這

移動開發 微信程式一個有侷限的類似 React Native 輪子!

先丟擲結論:微信小程式就是一個類似RN的輪子,可以快速開發,有一定的適用場景,但是也有其侷限性。 本文針對微信小程式的示例程式碼進行分析,告訴大家: 微信小程式到底提供了什麼? 開發微信小程式方便麼? 微信小程式具體適用場景? 最後還自作主張的說了點對於微信小程

一個python程式——即時動態時鐘(程式碼解讀)

程式碼資源來自: http://n.miaopai.com/media/K9Qlou7rdPc5TxpPaL1VDvwfv5hP~lHK   (執行有錯誤,缺少date,week和結尾部分) https://blog.csdn.net/yangxing2/article/details

C語言有趣程式

問題:  烏龜想要環遊旅行,剛開始第一秒走了1米,隨著體力和毅力的減退第二秒走了二分之一米,第三秒走了三分之一米…問:什麼時候走10米,一小時能走多少米。 #include<stdio.h> int main() { int t; double s,S; for(t