嗨,今天要放入音樂檔
#include <windows.h>
int main()
{
PlaySound("music.wav",NULL,SND_SYNC);
}
music是檔名,放入bin資料夾後,把檔名在程式碼內更改就可以成功播放了
#include <windows.h>
int main()
{
PlaySound("so.wav",NULL,SND_SYNC);
PlaySound("fa.wav",NULL,SND_SYNC);
PlaySound("mi.wav",NULL,SND_SYNC);
PlaySound("re.wav",NULL,SND_SYNC);
PlaySound("do.wav",NULL,SND_SYNC);
}
老師傳給我們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);
}
}
建立迴圈,將SYNC變成ASYNC,按出數字和ENTER就可以按數字鍵彈奏了。
上面的要按 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)
{
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)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("Wee10 Sound");
glutDisplayFunc(display);
glutKeyboardFunc(keyboard);
glutMainLoop();
}
這樣直接按下1、2、3、4、5就可以直接播放了。
接著我們讓背景音樂跟do、re、mi、fa、so同時播放
接著我們讓滑鼠點擊發出音效
#include <windows.h>
#include <GL/glut.h>
#include "CMP3_MCI.h"
CMP3_MCI 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");
mp3.Play();
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("Wee10 Sound");
glutDisplayFunc(display);
glutKeyboardFunc(keyboard);
glutMainLoop();
}
接著我們讓滑鼠點擊發出音效
#include <windows.h>
#include <GL/glut.h>
#include "CMP3_MCI.h"
CMP3_MCI 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);
}
void mouse (int button,int state,int x,int y)
{
if(state==GLUT_DOWN)PlaySound("shot.wav",NULL,SND_ASYNC);
}
int main(int argc,char**argv)
{
mp3.Load("music.mp3");
mp3.Play();
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("Wee10 Sound");
glutDisplayFunc(display);
glutKeyboardFunc(keyboard);
glutMouseFunc(mouse);
glutMainLoop();
}
#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();
}







沒有留言:
張貼留言