2020年5月13日 星期三

week12

把wav檔放到freeglut的bin資料夾

#include <windows.h>
#include <mmsystem.h>
#include <GL/glut.h>
void display()
{

}
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("week12 sound");

    glutDisplayFunc(display);
    glutKeyboardFunc(keyboard);

    glutMainLoop();
}

再來是簡單的鋼琴跟播放mp3檔

#include <windows.h>
#include <mmsystem.h>
#include <GL/glut.h>
#include "CMP3_MCI.h"   ///注意:需在同一專案裡面
CMP3_MCI mp3;

void display()
{

}
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("week12 sound");

    glutDisplayFunc(display);
    glutKeyboardFunc(keyboard);

    glutMainLoop();
}

再來是讓聲音可以一起出來不只單音

#include <windows.h>
#include <mmsystem.h>
#include <GL/glut.h>
#include "CMP3_MCI.h"
CMP3_MCI mp3;
CMP3_MCI Do,Re,Mi,Fa,So;
void display()
{

}
void keyboard(unsigned char key,int x,int y)
{
    if(key=='1') Do.Play();//PlaySound("do.wav",NULL,SND_ASYNC);
    if(key=='2') Re.Play();//("re.wav",NULL,SND_ASYNC);
    if(key=='3') Mi.Play();//("mi.wav",NULL,SND_ASYNC);
    if(key=='4') Fa.Play();//("fa.wav",NULL,SND_ASYNC);
    if(key=='5') So.Play();//("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");
    mp3.Load("music3.mp3");
    mp3.Play();

    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("week12 sound");

    glutDisplayFunc(display);
    glutKeyboardFunc(keyboard);

    glutMainLoop();
}

沒有留言:

張貼留言