2018年5月11日 星期五

Week11_黃偉愷

讓程式可以發出聲音

1. 先建立一個 GLUT 專案
2. 將我們的聲音檔放在我們的執行目錄下 (freeglut-MinGW-3.0.0-1.mp\freeglut\bin)
3. 引用多媒體系統的外掛
4. 呼叫播放聲音的函式
5. SYNC 是等它的意思(同步),ASYNC 是不等它的意思(不同步)

讓聲音可以一直播放直到按下滑鼠就停止

1. 新增一個 mouse 函式
2. 將 PlaySound 函式內容做修改
3. 記得要在下面加上 glutMouseFunc(mouse) 才會在按下滑鼠時有效果喔!


鍵盤鋼琴

 1. 先從 moodle 上下載七個音階的音檔,將他們放在我們的執行目錄下 (freeglut-MinGW-3.0.0-1.mp\freeglut\bin)
2. 修改 keyboard 函式的內容,並在 switch case 內加入以下的程式碼,將就完成囉,執行時只要按數字鍵 1~7就會有聲音囉!

Code
        case '1':
            PlaySound("Do.wav",NULL,SND_ASYNC );
            break;

        case '2':
            PlaySound("Re.wav",NULL,SND_ASYNC );
            break;

        case '3':
            PlaySound("Mi.wav",NULL,SND_ASYNC );
            break;

        case '4':
            PlaySound("Fa.wav",NULL,SND_ASYNC );
            break;

        case '5':
            PlaySound("Sol.wav",NULL,SND_ASYNC );
            break;

        case '6':
            PlaySound("La.wav",NULL,SND_ASYNC );
            break;

        case '7':
            PlaySound("Si.wav",NULL,SND_ASYNC );
            break;


在自己的專案播放聲音


1. 新增一個 Concole 專案
2. 計得要在 build options 做些設定,將後面才不會出錯


3. 將音檔貼到我們的專案資料夾內

Code
#include <windows.h> //要使用 windows.h 裡面的一些定義
#include <mmsystem.h>
#include <stdio.h>
int main()
{
    PlaySound("Queen.wav",NULL,SND_SYNC ); //等他
    printf("Hello World\n");
}

4. 輸入一個數字後結束播放聲音
Code
#include <windows.h> //要使用 windows.h 裡面的一些定義
#include <mmsystem.h>
#include <stdio.h>
int main()
{
    PlaySound("Queen.wav",NULL,SND_ASYNC ); //不等他
    printf("Hello World\n"); // 立刻執行下一行
    int n;
    scanf("%d",&n);//只要輸入完整數 n 立刻就結束了
}













沒有留言:

張貼留言