2020年5月13日 星期三

week12

開啟OPENGL,網路上下載WAV音檔,"放在Freeglut->bin"

可以同時放不只一個音檔,可以做出一段音樂喔!

加上鍵盤,彈奏一手鋼琴曲
#include <windows.h>
#include <mmsystem.h>
#include <windows.h>
#include <mmsystem.h>
#include <GL/glut.h>
void display()
{

}
void keyboard(unsigned char key,int a,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);

    glutMainLoop();
}

播放音樂春風吹
#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')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("music.mp3");
    mp3.Play();
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE |GLUT_DEPTH);
    glutCreateWindow("week12_sound");

    glutDisplayFunc(display);
    glutKeyboardFunc(keyboard);

    glutMainLoop();

}
進階版 多了La,Si Do2
#include <windows.h>
#include <mmsystem.h>
#include <GL/glut.h>
#include "CMP3_MCI.h"
CMP3_MCI mp3;
CMP3_MCI Do,Re,Mi,Fa,So,La,Si,Do2;
void display()
{
}
void keyboard(unsigned char key,int x,int y)
{
    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();
    if(key=='8')La.Play();
    if(key=='7')Si.Play();
    if(key=='6')Do2.Play();
}
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");
    La.Load("la.wav");
    Si.Load("si.wav");
    Do2.Load("do2.wav");
    mp3.Load("music.mp3");
    mp3.Play();
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE |GLUT_DEPTH);
    glutCreateWindow("week12_sound");

    glutDisplayFunc(display);
    glutKeyboardFunc(keyboard);

    glutMainLoop();
}

沒有留言:

張貼留言