2020年5月13日 星期三

jiajiau

1.播放WAV檔音樂
程式碼 ↓
///目標:1行撥放 WAV檔 PlaySound
#include <windows.h>
#include <mmsystem.h>
int main()
{///播放聲音 正常的ASCII檔名 ,空,聲音要同步
    PlaySoundA("檔名.wav", NULL, SND_SYNC);
}///檔名要在下面(in...freeglut\bin資料夾裡面)

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 == '1')  PlaySoundA("re.wav", NULL, SND_ASYNC);
    if(key == '1')  PlaySoundA("mi.wav", NULL, SND_ASYNC);
    if(key == '1')  PlaySoundA("fa.wav", NULL, SND_ASYNC);
    if(key == '1')  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();
}

3.播放MP3檔
程式碼 ↓
#include <windows.h>
#include <mmsystem.h>
#include <GL/glut.h>
#include "CMP3_MCI.h" ///雙引號,在專案同一個目錄裡
CMP3_MCI mp3;///ex. int a; 宣告一個物件變數,叫 mp3
void display()
{
}

void keyboard(unsigned char key,int x,int y)
{
    if(key == '1')  PlaySoundA("do.wav", NULL, SND_ASYNC);
    if(key == '1')  PlaySoundA("re.wav", NULL, SND_ASYNC);
    if(key == '1')  PlaySoundA("mi.wav", NULL, SND_ASYNC);
    if(key == '1')  PlaySoundA("fa.wav", NULL, SND_ASYNC);
    if(key == '1')  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();
}

*記得下載 CMP3_MCI.h (在moodle) 並放在專案裡頭













沒有留言:

張貼留言