ถ้าเป็นเสียงสั้นๆ ใน reference ของ Minim บอกว่าควรจะใช้คลาสชื่อ AudioSample แทน AudioPlayer เพราะว่าเสียงสั้นควรจะถูกโหลดไปไว้ใน memory เลย
สมมติว่าเราสร้างโปรแกรมง่ายๆ ให้มีวงกลมตรงกลางจอ จากนั้นถ้าเลื่อนเมาส์ไปวางแถวๆวงกลม ให้เกิดเสียง ถ้าเอาเมาส์ออก เสียงก็จะหายไป
อันดับแรก ไปหาเสียงพวก Event Sound นี้ก่อน ถ้าลองค้นหาด้วยคำว่า free sound effects ก็จะเจอเยอะแยะมากมาย มีเว็บนึงที่สามารถสร้างเสียงเหล่านี้ขึ้นได้เองเลย คือ http://www.bfxr.net/ ลองไปเล่นดูได้ครับ
สมมุติว่าเรามีไฟล์เสียงอันนึง ชื่อ coin.wav แล้วย้ายไปไว้ยัง data folder ของโปรเจคแล้ว
โค้ดก็จะประมาณนี้ครับ
import ddf.minim.*; Minim minim; AudioSample coin; void setup() { size(200, 200); minim = new Minim(this); //load sound to memory with buffer 512 KB coin = minim.loadSample("coin.wav", 512); } void draw() { background(0); fill(255,0,0); ellipse(100,100,50,50); if(mouseX>=80 && mouseX<=120){ if(mouseY>=80 && mouseY<=120){ //trigger a sound coin.trigger(); } } }
No comments:
Post a Comment