2018年5月11日 星期五

week11 盧宏淯

今天要介紹聲音,
首先先使用一下lesson32的程式來玩一下,
測試聲音,











接下來嘗試把聲音檔放入GLUT的project
但純粹放入聲音檔會讀不到,
所以要修改一下這邊
#include <mmsystem.h> 讀聲音外掛
int main(int argc, char *argv[])
    PlaySound("shot.wav",NULL,SND_ASYNC);











ASYNC : 是等它,同步
SYNC : 是等它,不同步
放入第二個聲音檔來測試,
用心跳聲來測試,
發覺聲音會先撥Shot 再來才是心跳聲,











使用SND_ASYNC | SND_LOOP;
設定滑鼠按下中斷前面的聲音;
void mouse(int button,int state,int x,int y)
{
    if(state=GLUT_DOWN)PlaySound("Shot.wav",NULL,SND_ASYNC);
    這邊使用if 來判斷按下去上來發一次聲,避免破聲。
}











使用鍵盤來模擬鋼琴聲音,
        case '1':PlaySound("Do.way",NULL,SND_ASYNC);
            break;
        case '2':PlaySound("Re.way",NULL,SND_ASYNC);
            break;
        case '3':PlaySound("Mi.way",NULL,SND_ASYNC);
            break;
        case '4':PlaySound("Fa.way",NULL,SND_ASYNC);
            break;
        case '5':PlaySound("Sol.way",NULL,SND_ASYNC);
            break;
        case '6':PlaySound("La.way",NULL,SND_ASYNC);
            break;
        case '7':PlaySound("Si.way",NULL,SND_ASYNC);
            break;
並且把外掛上移,才能讀到音檔。
#include <mmsystem.h>












開啟貝殼(console專案)
呈現:











加入
#include <windows.h>
#include <mmsystem.h>
然後把要播的聲音檔放入,
一定要用SYNC(等它)
不然會直接跳過執行Hellow Word;











加入linker  winmm;











最後執行:

沒有留言:

張貼留言