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

No comments:

Post a Comment

Maaf jika komentar anda lama terbitnya ^__^, penulis berusaha OL sesering mungkin. Komentar anda adalah semangat blog ini, dan juga semangat para blogger lainnya. You can use XHTML tags: <a href="" rel="link"> </a>, <strong> </strong>, <b> </b>, <em> </em>, <i> </i>.

Spesial character use :
&lt; for <
&gt; for >


Use Pastebin.com for alternative to display your code :) .

 

back to top

back to top