week15-1 撥放音樂
第一行加入:#include <windows.h>
加入這行:PlaySound("C:/mykbeat.wav", NULL, SND_ASYNC);2024電腦圖學 Computer Graphics
人智二甲
授課教師: 葉正聖 銘傳大學人工智慧應用學系
每週主題: 程式環境、點線面顏色、移動/旋轉/縮放與矩陣(Matrix)、階層性關節轉動(T-R-T)、做出機器人、打光、貼圖、glu/glut函式、鍵盤、滑鼠、計時器(timer)、讀入3D模型、粒子系統、聲音、特效、投影矩陣、攝影機與運鏡、機器人2.0、期末作品
week15-1 撥放音樂
第一行加入:#include <windows.h>
加入這行:PlaySound("C:/mykbeat.wav", NULL, SND_ASYNC);
1.下載上課所需的檔案:freeglut檔(做以下步驟:到lib裡面複製檔名最小的,然後改名成libglut32.a)💦
2.創建一個新專案,名稱是week15-1_PlaySound💧
3.將裡面的main.cpp檔新增兩航程是在執行即可新增撥放音樂的功能💨
| 第1行新增#include <windows.h> |
| 新增PlaySound("檔案", NULL, SND_ASYNC);///有A 不同步(不等待) |
4.進行二次修改,新增前置作業💞
| 新增PlaySound("檔案", NULL, SND_SYNC);每有A 同步等待 |
5.創建一個新檔案,名稱是week15-2_PlaySound_empty;將上一個檔案的內容精簡化。👋
6.修改WEEK15-1的內容👍
💪須注意事項:
| 1.需要有:freeglut.all在檔案內 |
| 2.指定檔案右鍵找到Properties |
| 3.裡面的Execution working dir 改成小數點 |
7.創建新檔案week15-3_CMP3_MCI,新增程式碼,讓其可以播放mp3👊
1.week15-1_PlaySound
安裝freeglut,新增GLUT專案
"""cpp
#include <windows.h>///第一行
"""
PlaySound("檔名.wav",NULL,SND_ASYNC);///有A 不同步/不等待
"""
PlaySound("C:/Do.wav",NULL,SND_SYNC);///沒有A 同步等待
PlaySound("C:/Re.wav",NULL,SND_SYNC);
PlaySound("C:/Mi.wav",NULL,SND_SYNC);
PlaySound("C:/Fa.wav",NULL,SND_SYNC);
PlaySound("C:/Sol.wav",NULL,SND_SYNC);
"""
把前面註解PlaySound("C:/Do.wav",NULL,SND_SYNC);///沒有A 同步等待
PlaySound("C:/Re.wav",NULL,SND_SYNC);
PlaySound("C:/Mi.wav",NULL,SND_SYNC);
PlaySound("C:/Fa.wav",NULL,SND_SYNC);
改成
"""cpp
static void key(unsigned char key, int x, int y)
{
switch (key)
{
case '1':
PlaySound("C:/Do.wav",NULL,SND_SYNC);
break;
case '2':
PlaySound("C:/Re.wav",NULL,SND_SYNC);
break;
case '3':
PlaySound("C:/Mi.wav",NULL,SND_SYNC);
break;
}
"""
現在要把工作執行目錄Project-Properties的第2分頁
Execution working dir 改成小數點
再把 桌面\freeglut\bin\freeglut.dll 及音樂,都copy到專案目錄
2.week15-2_PlaySound_empty
新增GLUT專案
把程式碼全刪
"""cpp
#include <windows.h>
int main()
{
PlaySound("C:/檔名.wav",NULL,SND_SYNC);
}
"""
3.week15-3_CMP3_MCI
新增專案
請把CMP3_MCI.h和sone.mp3和freeglut.dll都放到你的專案目錄
把你的工作執行目錄,設定成小數點
"""cpp
#include "CMP._MCI.h",//雙引號,很像之前"glm.h"
CMP3_MCI myMP3;//宣告一個物件變數
"""
在main()
"""cpp
int main(...)
{
myMP3.Load("song.mp3");
myMP3.Play();
...
}
"""
4.week15-4_mouse_motion_translate_rotate
貼上11行GLUT程式
用滑鼠移動
##week15
#week15-1_PlaySound
1.先設定好環境
本週主題:
(1) 主題:音樂、音效
(2) mouse 移動模型
(3) 期末作品
1. GLUT程式1:PlaySound()
在程式最上面先放上#include <windows.h>
接著在main中寫 PlaySound("音樂檔案路徑/音樂檔案", NULL,SND_ASYNC)
第三參數有兩個下法:
SND_ASYNC - 不同步(不等待)
SND_SYNC - 同步
2. GLUT程式2:.mp3的使用
在程式最上面放上
#include "CMP3_MCI.h"
CMP3_MCI myMP3;
接著在main中寫
myMP3.Load("音樂檔案路徑/音樂檔案");
myMP3.Play();
3. GLUT程式3-1:利用滑鼠移動物件
1.新增一個專案,命名為"week15-1_PlaySound"
2.新增一個專案,命名為"week15-2_PlaySound_empty"
3.把程式碼全刪
3.新增一個專案,命名為"week15-3_CMP3_MCI"
4.請把CMP3_MCI.h和sone.mp3和freeglut.dll都放到你的專案目錄裡
5.把你的工作執行目錄,設定成小數點.
6.新增一個專案,命名為"week15-4_mouse_motion_translate_rotate"
7.貼上11行的GLUT程式
8.目標:先能移動跟旋轉跟陣列
# week15
# week15-1_PlaySound
0. 下載 freeglut 至桌面, 並解壓縮, 更改 lib 中的檔名
1. File-New-Project, GLUT專案 week15-1_PlaySound
2. 加入下方橘色部分程式碼
```cpp
#include <windows.h> ///第1行
int ,main(......)
{
PlaySound("檔名.wav", NULL, SND_ASYNC);
}
```
3. 執行後可以撥出音樂
# week15-2_PlaySound_empty
1. File-New-Project, GLUT專案 week15-2_PlaySound_empty
2. 把程式碼全刪
```cppˇ
#include <windows.h>
int main()
{
PlaySound("C:/Do.wav",NULL,SND_SYNC);
}
```
3. 一樣可以放音樂
4. 先在把工作執行目錄 Project-Properties 的第2分頁 Execution working dir 改成小數點
5. 再把 桌面/freeglut/bin/freeglut.dll 和音樂 全部丟到檔案目錄
# week15-3_CMP3_MCI
1. File-New-Project, GLUT專案 week15-3_CMP3_MCI
2. 請把 CMP3 MCI.h 和 song.mp3 和 freeglut.dll 都放到專案目錄裡
3. 把工作執行目錄設成小數點
```cpp
#include "CMP3_MCI.h" ///雙引號, 很像之前 glm.h
CMP3_MCI myMP3; ///宣告一個物件變數
```
```cpp
int main(...)
{
myMP3.Load("song.mp3");
myMP3.Play();
}
```cpp
# week15-4_mouse_motion_translate_rotate
1. File-New-Project, GLUT專案 week15-4_mouse_motion_translate_rotate
2. 貼上 11行的 GLUT 程式碼
3. 目標先能 移動、旋轉、陣列
Week15-1_PlaySound
0. 安裝 freeglut
1. File-New-Project
、、、cpp
#include<windows.h>
、、、cpp
int main()
把 mybeat.wav 放在 C:\裡,就可以用 C:/mykbeat.wav PlaySound ("檔名.wav",NULL,SND_ASYNC) ;