Sunday, 27 June 2010

Mainkan Musiknya (2)

Tulisan ini merupakan lanjutan dari:
Mainkan Musiknya (1)


Seperti halnya library tambahan sebelumnya (SDL_image dan SDL_ttf) kita perlu melakukan inisilasi untuk library terlebih dahulu. Inisialiasi ini terdapat pada fungsi :

...
//Inisialiasi SDL_mixer
//jangan pusingin angka-angka di parameter-nya
if( Mix_OpenAudio( 22050, MIX_DEFAULT_FORMAT, 2, 4096 ) == -1 )
{
return 1;
}
...
Seperti yang dikatakan pada baris komentar, kita tak harus tahu darimana angka-angka pada parameter. Tapi akan aku coba jelaskan sedikit (walaupun sedikit ), argumen pertama adalah frekuensi untuk suara pada aplikasi kita dalam hal ini bernilai 22050, nilai yang sangat direkomendasikan. Argumen kedua format suara yang digunakan. Argumen ketiga jumlah channel yang digunakan, dalam hal ini berjumlah dua yang berarti suaranya stereo. Argumen keempat atau terakhir adalah ukuran sample, sempel apaan nih?? hmm.... hmm.... maaf saat ini belum bisa membantu saat ini . Ok deh kita bahas yang bisa dibahas . Disini kita perlu variabel untuk menampung suara-suara atau lagu yang akan dimainkan nantinya, untuk itu perhatikan kode berikut:

...
Mix_Music *musik = NULL;
Mix_Chunk *sndKlik = NULL; //snd = sound

...
musik = Mix_LoadMUS("Data/cina_town.mid");
sndKlik = Mix_LoadWAV("Data/Sinyal.wav");

if( musik == NULL ||
sndKlik == NULL) return 1;

...

//membersihkan variabel musik
Mix_FreeChunk( sndKlik);
Mix_FreeMusic( musik);

//mengakhiri fungsi Audio
Mix_CloseAudio();
...
Kita membedakan antara musik (Mix_Music) dan sound effect (Mix_Chunk). Sehingga pemanggilan filenya pun menggunakan fungsi yang berbeda, yaitu Mix_LoadMUS("lokasi file") untuk musik dengan format yang didukung ".mid", ".wav", dan beberapa file audio (belum sempet nyoba format lain ). Sedangkan untuk sound menggunakan fungsi Mix_LoadWAV("lokasi file"), dari nama fungsi saja mungkin sudah bisa ditebak file apa yang akan dipanggil. Jadi jangan coba-coba untuk memanggil file selain WAV (.wav), seperti file Midi (.mid). Jika pemanggilan file bermasalah (walaupun lokasinya bener dan filenya ada) maka program akan segera tertutup. Jika variabel atau sound tidak digunakan lagi, kita dapat membersihkan dengan memasukkan variabel ke parameter pada fungsi "Mix_FreeChunk(Mix_Chunk *chunk)". Untuk musik dapat menggunakan "Mix_FreeMusic(Mix_Music *music)" agar tak ada lagi yang tersisa. Untuk benar-benar mengakhiri fungsi Audio dapat menggunakan "Mix_CloseAudio(void)", dengan ini maka library mixer akan tertutup dan semua audio yang masih berjalan akan diberhentikan. Disini baru membuat, mengisi, lalu membersihkan, terus dimana mainin musiknya? Anda dapat mencarinya di source code atau tunggu postingan berikutnya.. .

- krofz

Wednesday, 23 June 2010

Mainkan Musiknya (1)

Rasanya kurang lengkap jika sebuah game tanpa musik dan suara-suara efek yang menyertainya, pastinya. Kalau gitu let's go!! kita buat program kita ada audionya. Pertama-tama, apa yang diperlukan untuk memainkan musik atau audio? Seperti halnya dalam urusan gambar (SDL_image) dan huruf (SDL_ttf) kita perlu library tambahan. Nama library tambahannya adalah SDL_mixer, berikut ini link mendownload library tambahannya:

Link : http://www.libsdl.org/projects/SDL_mixer/

Menginstalasi atau mensetting SDL_mixer sama persis dengan library tambahan sebelumnya (image dan ttf), jadi jika sudah pernah menginstal SDL_image atau SDL_ttf pasti sudah bisa (mestinya ) mendownload, lalu menginstalasinya. Jika belum disarankan untuk membacanya terlebih dahulu, biar nggak puyeng nantinya . Dengan sedikit memodif kode program sebelumnya (Klik Tombolnya) sehingga hasilnya seperti hasil program dibawah ini (terdapat juga source code-nya):

Link : http://rapidshare.com/files/401867130/Klik_Tombolnya_with_Audio.7z
Size : 576 KB

Silahkan download untuk melihat hasilnya terlebih dahulu. Untuk penjelasan kodenya akan segera menyusul... don't panic hehehe....

- krofz
 

back to top

back to top