今天要播音樂
放聲音!!!
小葉傳給了我們do re mi fa so這五個音測試看看,這時候播放,每個音會相差五秒鐘
#include <windows.h>
#include <stdio.h>
int main()
{
while(1)
{
char c = getchar();
if(c=='1')PlaySound("do.wav",NULL,SND_ASYNC);
if(c=='2')PlaySound("re.wav",NULL,SND_ASYNC);
if(c=='3')PlaySound("mi.wav",NULL,SND_ASYNC);
if(c=='4')PlaySound("fa.wav",NULL,SND_ASYNC);
if(c=='5')PlaySound("so.wav",NULL,SND_ASYNC);
}
}///要按ENTER鍵
那接下來就是更進階的了!!!不要案ENTER鍵!!
#include <windows.h>
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glutSolidTeapot(0.3);
glutSwapBuffers();
}
void keyboard( unsigned char key, int x, int y)///TODO3
{///TODO3
if( key== '1' ) PlaySound("do.wav", NULL , SND_ASYNC );///TODO3
if( key== '2' ) PlaySound("re.wav", NULL , SND_ASYNC );///TODO3
if( key== '3' ) PlaySound("mi.wav", NULL , SND_ASYNC );///TODO3
} ///不需要按ENTER了!!
int main(int argc, char** argv)
{
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH );
glutCreateWindow("Week10 Sound 07361092");
glutDisplayFunc(display);
glutKeyboardFunc(keyboard); ///TODO3
glutMainLoop();
}
接下來,我們想要把背景音樂和五個音一起同時撥放!!!!
#include <GL/glut.h>
#include"CMP3_MCI.h" ///.h檔要放在專案目錄下
CMP3_MCI mp3;///宣告一個變數(MP3的變數)
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glutSolidTeapot(0.3);
glutSwapBuffers();
}
void keyboard( unsigned char key, int x, int y)
{
if(key=='1') PlaySound("do.wav", NULL, SND_ASYNC);
if(key=='2') PlaySound("re.wav", NULL, SND_ASYNC);
if(key=='3') PlaySound("mi.wav", NULL, SND_ASYNC);
if(key=='4') PlaySound("fa.wav", NULL, SND_ASYNC);
if(key=='5') PlaySound("so.wav", NULL, SND_ASYNC);
}
int main(int argc, char *argv[])
{
mp3.Load("music.mp3");///檔案放執行目錄....\freeglut\bin
mp3.Play(); ///播放
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week10 playsound");
glutDisplayFunc(display);
glutKeyboardFunc( keyboard);
glutMainLoop();
}播放MP3也可以按123
接著讓滑鼠點擊播放音樂
#include <windows.h>
#include <GL/glut.h>
#include "CMP3_MCI.h"
CMP3_MCI mp3;
CMP3_MCI shot1,shot2,shot3;
void display()
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glutSolidTeapot(0.3);
glutSwapBuffers();
}
void keyboard(unsigned char key,int x,int y)
{
if(key=='1')PlaySound("do.wav",NULL,SND_ASYNC);
if(key=='2')PlaySound("re.wav",NULL,SND_ASYNC);
if(key=='3')PlaySound("mi.wav",NULL,SND_ASYNC);
if(key=='4')PlaySound("fa.wav",NULL,SND_ASYNC);
if(key=='5')PlaySound("so.wav",NULL,SND_ASYNC);
}
void mouse(int button,int state,int x,int y)
{
if(state==GLUT_DOWN && button==GLUT_LEFT_BUTTON) shot1.Play();
if(state==GLUT_DOWN && button==GLUT_MIDDLE_BUTTON) shot2.Play();
if(state==GLUT_DOWN && button==GLUT_RIGHT_BUTTON) shot3.Play();
}
int main(int argc,char** argv)
{
shot1.Load("1.wav");shot2.Load("2.wav");shot3.Load("3.wav");
mp3.Load("music.mp3");
mp3.Play();
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("week10 Sound");
glutDisplayFunc(display);
glutKeyboardFunc(keyboard);
glutMouseFunc(mouse);
glutMainLoop();
}







沒有留言:
張貼留言