2023年4月26日 星期三

達yo - week11鍵盤.音樂 - 電腦圖學

 今天要教的是鍵盤、音樂

一、鍵盤

1.在CodeBlocks打開GLUT Project

2.老師講解keyboard的程式碼,例如:27代表鍵盤上的Esc,0是結束(視窗關掉)

3.寫keyboard新的程式碼


二、鍵盤跟音樂結合

1.開啟新的GLUT Project,複製剛剛寫的鍵盤程式碼並貼上

2.老師介紹mp3跟wav的差別

在NotePad++打開來看,會發現wav前面是RIFF,mp3是ID3

wav檔案大、mp3檔案小

mp3不能用PlaySoundA


wav

mp3
2.修改程式碼,加入音樂
*要增加#include <windows.h>和NULL,SND_ASYNC*(不然跑不出來)
*#include <windows.h>得在第一行
按下數字鍵123,分別發出do re mi

3.把檔案Save everything,在檔案總管打開week11-2_keyboard_wav_PlaySound資料夾
裡的cbp檔(用NotePad++檢視)
第41行最為重要(播音樂)
4.重開CodeBlocks,並新增新的檔案
打入程式碼
只寫這樣會無法執行,因為找不到PlaySound
要在Settings裡的Compiler-Linker Settings增加"winmm"

加完後,音樂就可正常播放
*SND_ASYNC(不會有等待時間)
*SND_SYNC(有等待時間)
5.播放mp3
重開CodeBlocks,新增GLUT Project
要播出mp3必須加入"#include "CMP3_MCI.h"
6.把CMP3_MCI.h複製到week11-4資料夾裡

7.把音樂(mp3)複製到doremi資料夾裡
這樣就可以順利播放MP3

三、相對路徑
因為絕對路徑雖然可以播放,但換電腦的話就會播不出來
相對路徑則相反。

1.先把week11-4 Save everything,並關掉
2.打開week11-4裡的cbp檔,修改第11行,把絕對路徑刪掉,改成"."

3.修改程式碼

4.把mp3檔案複製拉到week11-4資料夾裡


5.把freeglut的bin資料夾裡的dll檔複製拉到week11-4
6.執行畫面


*在c語言裡,\\/都可以*













沒有留言:

張貼留言