Plazma sayı 1, sayfa 28

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 28

if(Mix_PlayMusic(music, -1)==-1) { fprintf(stderr, "Mix_PlayMusic: %s\n", Mix_GetError()); } music parametresi çalınacak müzik dosyasını belirtir. -1 değeri ise dosyanın sonsuz döngüde çalınacağını belirtir. -1 yerine parçanın tekrar edilmesini istediğimiz sayıyı yazabiliriz.

Fade in efektini sample'lar gibi müzik dosyalarına da uygulayabiliriz.

if(Mix_FadeInMusic(music, -1, 2000)==-1) { fprintf(stderr, "Mix_FadeInMusic: %s\n", Mix_GetError()); }

Fade in efekti olduğu gibi Fade out efekti de vardır. O ise sadece tek parametre alır. Fade out efektinin süresi (milisaniye cinsinden).

Mix_FadeOutMusic(3000);

Mix_PlayMusic fonksiyonu ile aynıdır her şey. Sadece son değer Fade in efektinin tamamlanacağı süreyi milisaniye cinsinden belirtir.

Bir müzik dosyasının çalmasını durdurmak için iki fonksiyonumuz vardır. Mix_HaltMusic ve Mix_PauseMusic. Mix_HaltMusic müzik çalınmasını hemen durdurur. Bütün fade efektlerini de keser. Mix_PauseMusic fonksiyonu ise çalmakta olan müziği sadece duraklatır. Mix_ResumeMusic fonksiyonu ise duraklatılan yerden çalmaya devam edilmesini sağlar. Bu fonksiyonu durdurulmuş (Halt), duraklatılmış (Pause) veya çalmakta olan müzik ile kullanmak güvenlidir, hataya neden olmaz.

Mix_HaltMusic(); Mix_PauseMusic(); Mix_ResumeMusic();

Evet bu doküman ile SDL_Mixer kullanımına giriş yaptık. SDL_Mixer'ın bütün yeteneklerini anlatmadım size ama anlattıklarım ile SDL_Mixer kullanmaya hemen başlayabilirsiniz. Gerisi için şimdilik orijinal SDL_Mixer dokümantasyonuna (http://jcatki.no-ip.org/SDL_mixer/ SDL_mixer_frame.html) bakmalısınız. Daha sonra SDL_Mixer'ın daha detaylı kullanımını anlatan bir doküman daha yazabilirim.

Not: 1 saniye == 1000 milisaniye; ;) Ragnor/Manyetiq

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