2020年5月12日 星期二

week11-執行檔有下載的聲音




一、下載音樂

http://billor.chsh.chc.edu.tw/sound/zoo.htm

















二、音樂檔放到bin



三、

四、點下滑鼠,就發出聲音

下載Yotube音樂轉成MP3,執行檔撥出音樂

一、


二、
 3.
三、
大象聲可以連續按,聲音不同步


程式碼

#include <GL/glut.h>
#include <windows.h>///定義一些dword
///不能放在<mmsystem.h>下,會錯誤
#include <mmsystem.h>///為了playsoundA
#include "CMP3_MCI.h"///TODO3:宣告一個物件變數 myMP3
CMP3_MCI myMP3;
void display()
{
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);

    glutSwapBuffers();
}
void mouse(int button,int state,int x,int y)
{///TODO2:mouse要發出聲音喔
    //if(state==GLUT_DOWN) PlaySoundA("elephant.wav",NULL,SND_SYNC);
    if(state==GLUT_DOWN) PlaySoundA("elephant.wav",NULL,SND_ASYNC);///不同步
}
int main(int argc,char**argv)
{
    myMP3.Load("01.mp3");///TODO3:讀入檔案,執行目錄
    myMP3.Play();///播放
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("week12");

    glutMouseFunc(mouse);///TODO2:點下滑鼠時,要發出聲音
    glutDisplayFunc(display);
    glutMainLoop();
}

可以把音樂放在自己的專案裡,不用放在freeglut,只需要改幾個程式碼
改成 .

DOREMIFASO 鋼琴聲




程式碼

#include <GL/glut.h>
#include "CMP3_MCI.h"///TODO3:雙引號
CMP3_MCI myMP3;///TODO3:宣告一個物件變數 myMP3
CMP3_MCI Do,Re,Mi,Fa,So;///TODO5:5個物件
void display()
{
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);

    glutSwapBuffers();
}
void keyboard(unsigned char key,int x,int y)
{///TODO5:5個物件
    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();

}
void mouse(int button,int state,int x,int y)
{///TODO2:mouse要發出聲音喔
    //if(state==GLUT_DOWN) PlaySoundA("elephant.wav",NULL,SND_SYNC);
    if(state==GLUT_DOWN) PlaySoundA("elephant.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");///TODO5:5個物件
    myMP3.Load("01.mp3");///TODO3:讀入檔案,執行目錄
    ///myMP3.Play();///播放
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("week12");
    glutMouseFunc(mouse);///TODO2:點下滑鼠時,要發出聲音
    glutKeyboardFunc(keyboard);
    glutDisplayFunc(display);
    glutMainLoop();
}

沒有留言:

張貼留言