2016年5月2日 星期一

20160502

課堂作業1:

(1)開啟一個新專案(貝殼專案)
(2)bulid option->linker setting->winmm
(3)記得上網載音檔
程式碼:
#include <iostream>
#include <windows.h>
#include <mmsystem.h>
using namespace std;

int main()
{
    int a;
    for(int i=0;i<10;i++)
    {
        cout << "Hello world!" << endl;
        PlaySoundA("Do.wav", NULL, SND_ASYNC);///非同步,直接就送出,馬上執行下一行,不等它
///PlaySoundA("Do.wav", NULL, SND_SYNC);///同步,要等時間完,才能下一步,所以會卡住
///比如說wav有20秒,就要等20秒後才執行下一行
        cin >> a;
    }

    return 0;
}
可用此程式碼做變化

課堂作業2:

(1)開新專案(貝殼)

(2)build option->linker settings->glu32 gdi32 freeglut opengl32 winmm

(3)compier選include & linker選lib

(4)記得將音檔放進檔案,freeglut.dll檔記得一進去

#include <GL/glut.h>
#include <windows.h>
#include <mmsystem.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("Sol.wav", NULL, SND_ASYNC);
    if(key=='6') PlaySoundA("La.wav", NULL, SND_ASYNC);
    if(key=='7') PlaySoundA("Si.wav", NULL, SND_ASYNC);
}
int main(int argc, char**argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("3D Sound version");

    glutDisplayFunc(display);
    glutKeyboardFunc(keyboard);

    glutMainLoop();
}

課堂作業3:

轉換影片為mp3,用程式叫出
****把音檔放進專案中*****
程式碼:
#include <GL/glut.h>
#include <windows.h>
#include <mmsystem.h>
#include "CMP3_MCI.h"
CMP3_MCI myMP3;
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("Sol.wav", NULL, SND_ASYNC);
    if(key=='6') PlaySoundA("La.wav", NULL, SND_ASYNC);
    if(key=='7') PlaySoundA("Si.wav", NULL, SND_ASYNC);
}
int main(int argc, char**argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("3D Sound version");

    glutDisplayFunc(display);
    glutKeyboardFunc(keyboard);
    myMP3.Load("yukai.mp3");
    myMP3.Play();
    glutMainLoop();
}

沒有留言:

張貼留言