2020年5月13日 星期三

week12

今天上課內容:

1.使用音效 .wav檔

將音效放入CodeBlocks:去網路上找wav下載,將音檔放置freeglut\bin資料夾裡面才可執行。

程式碼:
#include <windows.h>     ////為了下面認識DWORD
#include <mmsystem.h>  ////裡面有 PlaySound
int main()
{
    PlaySoundA("ccheer.wav",NULL,SND_SYNC);
}

1-1. 增加更多聲音


2.放上音階



程式碼:
#include <windows.h>
#include <mmsystem.h>
#include <GL/glut.h>
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)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("07163115_0513");

    glutDisplayFunc(display);
    glutKeyboardFunc(keyboard);

    glutMainLoop();
}

3.使用音效 .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') 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("07163115_0513");     /////記得改成自己的檔案名稱

    glutDisplayFunc(display);
    glutKeyboardFunc(keyboard);

    glutMainLoop();
}

3-3如何和弦


程式碼: 

#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();  ///PlaySoundA("do.wav",NULL,SND_ASYNC);
    if(key=='2') Re.Play();  ///PlaySoundA("re.wav",NULL,SND_ASYNC);
    if(key=='3') Mi.Play();  ///PlaySoundA("mi.wav",NULL,SND_ASYNC);
    if(key=='4') Fa.Play();   ///PlaySoundA("fa.wav",NULL,SND_ASYNC);
    if(key=='5') So.Play();   ///PlaySoundA("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("music.mp3");
    ///mp3.play();1
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("07163115_0513");

    glutDisplayFunc(display);
    glutKeyboardFunc(keyboard);

    glutMainLoop();
}


沒有留言:

張貼留言