2023年4月26日 星期三

圖學 - Week11 - 鍵盤(Keyboard)、音樂

開啟一個GLUT專案,學習來自GLUT預設檔案的keyboard的範例。



mp3音樂的檔案雖然檔案小,有壓縮過,所以要用程式播放時比較複雜。
wav音樂則檔案大,但是程式碼只需要一行。
開啟Notepad++可以分辨出mp3檔案和wav檔案。

wav檔案開啟後,前面會是RIFF
mp3檔案開啟後,開頭是ID3

* #include <window.h> 需要放到第一行,不然執行時會有問題 *
* 絕對路徑(Absolute Path)跟相對路徑(Related dir)比起來不容易出錯 *



先重開Codeblocks,開啟空白的Empty後。
因為PlaySound在winmm裡面,所以要手動把winmm加到lib,不然無法播放。

複製剛剛的PlaySound程式碼,這樣才會有聲音。

PS.
SND等待同步,上一個播放完後,才會播放下一個。
YNC不會等待同步,播放後就會馬上繼續播放,會造成聲音一瞬間播放結束。




開啟mp3檔案

開啟一個新的GLUT檔,在範例程式中新增一行程式碼。


把CMP3_MCI.h檔案拉到專案中。

然後拉到最下面的main檔前面加入要播放mp3程式碼。

如果要簡化成相對路徑,先把專案的程式碼改成相對路徑。

開啟專案的Notepad++,把working_dir改成" . "(檔案總管)



然後把專案的資料夾中加入mp3音樂、bin資料夾和.dll檔案
在執行程式就可以了。


因為github程式備份的時候不會備份.dll,所以要開啟Notepad++更改,在.dll前面加上井字號註解掉。



沒有留言:

張貼留言