一、下載音樂
二、音樂檔放到bin


下載Yotube音樂轉成MP3,執行檔撥出音樂
一、
二、
3.
三、
大象聲可以連續按,聲音不同步
程式碼
#include <GL/glut.h>
#include <windows.h>///定義一些dword
///不能放在<mmsystem.h>下,會錯誤
#include <mmsystem.h>///為了playsoundA
#include "CMP3_MCI.h"///TODO3:宣告一個物件變數 myMP3
CMP3_MCI myMP3;
void display()
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glutSwapBuffers();
}
void mouse(int button,int state,int x,int y)
{///TODO2:mouse要發出聲音喔
//if(state==GLUT_DOWN) PlaySoundA("elephant.wav",NULL,SND_SYNC);
if(state==GLUT_DOWN) PlaySoundA("elephant.wav",NULL,SND_ASYNC);///不同步
}
int main(int argc,char**argv)
{
myMP3.Load("01.mp3");///TODO3:讀入檔案,執行目錄
myMP3.Play();///播放
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("week12");
glutMouseFunc(mouse);///TODO2:點下滑鼠時,要發出聲音
glutDisplayFunc(display);
glutMainLoop();
}
可以把音樂放在自己的專案裡,不用放在freeglut,只需要改幾個程式碼
改成 .
DOREMIFASO 鋼琴聲

程式碼
#include <GL/glut.h>
#include "CMP3_MCI.h"///TODO3:雙引號
CMP3_MCI myMP3;///TODO3:宣告一個物件變數 myMP3
CMP3_MCI Do,Re,Mi,Fa,So;///TODO5:5個物件
void display()
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glutSwapBuffers();
}
void keyboard(unsigned char key,int x,int y)
{///TODO5:5個物件
if(key=='1')Do.Play();
if(key=='2')Re.Play();
if(key=='3')Mi.Play();
if(key=='4')Fa.Play();
if(key=='5')So.Play();
}
void mouse(int button,int state,int x,int y)
{///TODO2:mouse要發出聲音喔
//if(state==GLUT_DOWN) PlaySoundA("elephant.wav",NULL,SND_SYNC);
if(state==GLUT_DOWN) PlaySoundA("elephant.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");///TODO5:5個物件
myMP3.Load("01.mp3");///TODO3:讀入檔案,執行目錄
///myMP3.Play();///播放
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("week12");
glutMouseFunc(mouse);///TODO2:點下滑鼠時,要發出聲音
glutKeyboardFunc(keyboard);
glutDisplayFunc(display);
glutMainLoop();
}










沒有留言:
張貼留言