Plazma sayı 1, sayfa 26

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 26

Chunksize için uygun bir değer olarak 4096 verebilirsiniz. Ama ses efektlerinin arkaplanda gereğinden uzun süre sürdüğünü düşünüyorsanız bu değeri küçük tutmayı deneyebilirsiniz. Yalnız değer küçüldükçe yavaş sistemlerde ses çıktısının atlanması olasıdır.

Fonksiyon başarılı olarak sona ererse 0, hata verirse -1 değerini döndürür.

ses ortamını açmak için örnek kod: if(Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 1024)==-1) { fprintf(stderr, "Mix_OpenAudio: %s\n", Mix_GetError()); exit(2); } veya:

if(Mix_OpenAudio(22050, MIX_DEFAULT_FORMAT, 2, 4096)==-1) { fprintf(stderr, "Mix_OpenAudio: %s\n", Mix_GetError()); exit(2); }

Ses sistemini açtıktan sonra kapatmak için ise Mix_CloseAudio fonksiyonunu kullanırız. Kullanımı oldukça basittir.

kapatmak için örnek kod: Mix_CloseAudio();

Ses sistemini açıp kapatabiliriz. Şimdi sırada biraz ses çıkarmak var :). SDL_Mixer ile birçok yaygın formattaki ses dosyasını kolayca hafızaya yükleyip çalabilirsiniz. SDL_Mixer'da çalacağınız dosyalar iki tiptir. 1- Sample 2- Music

Sample'lar basit ses efektleridir diyebiliriz. Veya ufak ses dosyaları. Daha da basitçe müzik parçası olmayan ses dosyalarıdır dersek sanırım yanlış olmaz. Hafızada bir sample verisi saklarken kullanacağımız yapının adı Mix_Chunk'tır. Ses dosyasını hafızaya yüklerken kullanacağımız komutun adı da Mix_LoadWAV()'dır. Adı sizi yanıltmasın, bu fonksiyon sadece wav dosyalarını değil; wave, aiff, riff, ogg ve voc dosya formatlarını okuyabilir.

wav yüklemek için örnek kod:

Mix_Chunk *sample;

sample=Mix_LoadWAV("sample.wav"); if(!sample) { fprintf(stderr, "Mix_LoadWAV: %s\n", Mix_GetError()); // hata olursa diye }

Programımızı kapatırken de yüklediğimiz ses dosyalarını hafızadan silmek için Mix_FreeChunk komutu kullanılır.

örnek: Mix_FreeChunk(sample); sample=NULL;

Ses dosyalarını çalmak da bu kadar basit, Mix_PlayChannel komutu ile gerçekleştiriliyor.

çalmak için:

if(Mix_PlayChannel(-1, sample, 1)==-1) { fprintf(stderr, "Mix_PlayChannel: %s\n", Mix_GetError()); }

Klavyeyle gezinmek için ← ve → tuşları.