程式碼 ↓
///目標: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) 並放在專案裡頭

沒有留言:
張貼留言