1.下載WAV檔的聲音,將檔拉到freeglut的bin裡!!!!!!
配合鍵盤,變成鍵盤鋼琴。
程式碼:
///程式碼全刪
///目標:1行播放 WAV檔 PlaySound
#include <windows.h> ///為了下面認識DWORD
#include <mmsystem.h> ///裡面有PlaySound
#include <GL/glut.h>
void display()
{
}
void keyboard(unsigned char key, int x, int y)
{
if(key=='1') PlaySoundA("do.wav",NULL,SND_ASYNC);
if(key=='2') PlaySoundA("re.wav",NULL,SND_ASYNC);
if(key=='3') PlaySoundA("mi.wav",NULL,SND_ASYNC);
if(key=='4') PlaySoundA("fa.wav",NULL,SND_ASYNC);
if(key=='5') PlaySoundA("so.wav",NULL,SND_ASYNC);
}
int main(int argc, char**argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week12 sound");
glutDisplayFunc(display);
glutKeyboardFunc(keyboard);///TODO2:鍵盤有函式
glutMainLoop();
}
2.撥放音樂,加入mp3檔
程式碼:
//程式碼全刪
///目標:1行播放 WAV檔 PlaySound
#include <windows.h> ///為了下面認識DWORD
#include <mmsystem.h> ///裡面有PlaySound
#include <GL/glut.h>
#include "CMP3_MCI.h" ///TODO3:雙引號,在專案同一個目錄裡CMP3_MCI mp3;///ex. int a;TODO3:宣告一個物件變數,叫mp3void display()
{
}
void keyboard(unsigned char key, int x, int y)
{
if(key=='1') PlaySoundA("do.wav",NULL,SND_ASYNC);
if(key=='2') PlaySoundA("re.wav",NULL,SND_ASYNC);
if(key=='3') PlaySoundA("mi.wav",NULL,SND_ASYNC);
if(key=='4') PlaySoundA("fa.wav",NULL,SND_ASYNC);
if(key=='5') PlaySoundA("so.wav",NULL,SND_ASYNC);
}
int main(int argc, char**argv)
{
mp3.Load("CHANGE.mp3");///TODO3: mp3.Play();///TODO3: glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week12 sound");
glutDisplayFunc(display);
glutKeyboardFunc(keyboard);///TODO2:鍵盤有函式
glutMainLoop();
}
3.改寫程式,讓鍵盤同時按下,聲音可以同時出來!!!!!!!
程式碼:
///程式碼全刪
///目標:1行播放 WAV檔 PlaySound
#include <windows.h> ///為了下面認識DWORD
#include <mmsystem.h> ///裡面有PlaySound
#include <GL/glut.h>
#include "CMP3_MCI.h" ///TODO3:雙引號,在專案同一個目錄裡
CMP3_MCI mp3;///ex. int a;TODO3:宣告一個物件變數,叫mp3
CMP3_MCI Do, Re, Mi, Fa, So;///TODO4:有5個物件變數void display()
{
}
void keyboard(unsigned char key, int x, int y)
{
if(key=='1') Do.Play();///PlaySoundA("do.wav",NULL,SND_ASYNC);
if(key=='2') Re.Play();///PlaySoundA("re.wav",NULL,SND_ASYNC);
if(key=='3') Mi.Play();///PlaySoundA("mi.wav",NULL,SND_ASYNC);
if(key=='4') Fa.Play();///PlaySoundA("fa.wav",NULL,SND_ASYNC);
if(key=='5') So.Play();///PlaySoundA("so.wav",NULL,SND_ASYNC);
}
int main(int argc, char**argv)
{
Do.Load("do.wav");Re.Load("re.wav");Mi.Load("mi.wav"); Fa.Load("fa.wav");So.Load("so.wav");///TODO4:5個物件變數 設好檔案 mp3.Load("CHANGE.mp3");///TODO3:
///mp3.Play();///TODO3:
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week12_1");
glutDisplayFunc(display);
glutKeyboardFunc(keyboard);///TODO2:鍵盤有函式
glutMainLoop();
}
配合鍵盤,變成鍵盤鋼琴。
程式碼:///程式碼全刪
///目標:1行播放 WAV檔 PlaySound
#include <windows.h> ///為了下面認識DWORD
#include <mmsystem.h> ///裡面有PlaySound
#include <GL/glut.h>
void display()
{
}
void keyboard(unsigned char key, int x, int y)
{
if(key=='1') PlaySoundA("do.wav",NULL,SND_ASYNC);
if(key=='2') PlaySoundA("re.wav",NULL,SND_ASYNC);
if(key=='3') PlaySoundA("mi.wav",NULL,SND_ASYNC);
if(key=='4') PlaySoundA("fa.wav",NULL,SND_ASYNC);
if(key=='5') PlaySoundA("so.wav",NULL,SND_ASYNC);
}
int main(int argc, char**argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week12 sound");
glutDisplayFunc(display);
glutKeyboardFunc(keyboard);///TODO2:鍵盤有函式
glutMainLoop();
}
2.撥放音樂,加入mp3檔
程式碼://程式碼全刪
///目標:1行播放 WAV檔 PlaySound
#include <windows.h> ///為了下面認識DWORD
#include <mmsystem.h> ///裡面有PlaySound
#include <GL/glut.h>
#include "CMP3_MCI.h" ///TODO3:雙引號,在專案同一個目錄裡CMP3_MCI mp3;///ex. int a;TODO3:宣告一個物件變數,叫mp3void display()
{
}
void keyboard(unsigned char key, int x, int y)
{
if(key=='1') PlaySoundA("do.wav",NULL,SND_ASYNC);
if(key=='2') PlaySoundA("re.wav",NULL,SND_ASYNC);
if(key=='3') PlaySoundA("mi.wav",NULL,SND_ASYNC);
if(key=='4') PlaySoundA("fa.wav",NULL,SND_ASYNC);
if(key=='5') PlaySoundA("so.wav",NULL,SND_ASYNC);
}
int main(int argc, char**argv)
{
mp3.Load("CHANGE.mp3");///TODO3: mp3.Play();///TODO3: glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week12 sound");
glutDisplayFunc(display);
glutKeyboardFunc(keyboard);///TODO2:鍵盤有函式
glutMainLoop();
}
3.改寫程式,讓鍵盤同時按下,聲音可以同時出來!!!!!!!
程式碼:///程式碼全刪
///目標:1行播放 WAV檔 PlaySound
#include <windows.h> ///為了下面認識DWORD
#include <mmsystem.h> ///裡面有PlaySound
#include <GL/glut.h>
#include "CMP3_MCI.h" ///TODO3:雙引號,在專案同一個目錄裡
CMP3_MCI mp3;///ex. int a;TODO3:宣告一個物件變數,叫mp3
CMP3_MCI Do, Re, Mi, Fa, So;///TODO4:有5個物件變數void display()
{
}
void keyboard(unsigned char key, int x, int y)
{
if(key=='1') Do.Play();///PlaySoundA("do.wav",NULL,SND_ASYNC);
if(key=='2') Re.Play();///PlaySoundA("re.wav",NULL,SND_ASYNC);
if(key=='3') Mi.Play();///PlaySoundA("mi.wav",NULL,SND_ASYNC);
if(key=='4') Fa.Play();///PlaySoundA("fa.wav",NULL,SND_ASYNC);
if(key=='5') So.Play();///PlaySoundA("so.wav",NULL,SND_ASYNC);
}
int main(int argc, char**argv)
{
Do.Load("do.wav");Re.Load("re.wav");Mi.Load("mi.wav"); Fa.Load("fa.wav");So.Load("so.wav");///TODO4:5個物件變數 設好檔案 mp3.Load("CHANGE.mp3");///TODO3:
///mp3.Play();///TODO3:
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week12_1");
glutDisplayFunc(display);
glutKeyboardFunc(keyboard);///TODO2:鍵盤有函式
glutMainLoop();
}
沒有留言:
張貼留言