www.gizliorman.net
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Bu site Secret-Forestin hayranları içindir.
 
AnasayfaGaleriLatest imagesAramaKayıt OlGiriş yap

 

 Actionscript 3 ile Sesin Kontrolü

Aşağa gitmek 
2 posters
YazarMesaj
wantedteams




Erkek Mesaj Sayısı : 114
Yaş : 32
Nerden : Pardon Secretmelos.
Lakap : Ne diyorsun ya.
Kayıt tarihi : 09/02/09

Actionscript 3 ile Sesin Kontrolü Empty
MesajKonu: Actionscript 3 ile Sesin Kontrolü   Actionscript 3 ile Sesin Kontrolü Icon_minitimeSalı Şub. 10, 2009 8:24 pm

Actionscript’te ile flash içine dışarıdan veya library’den müzik dosyası çekebilir ve bunun kontrolünü sağlayabiliriz.

Öncelikle ses adlı bir değişken tanımlıyoruz. Daha sonra da swf dosyamızla aynı klasörde bulunan muzik.mp3 adlı dosyamızı Sound sınıfının load özelliğiyle çekiyoruz:

var ses:Sound = new Sound();
var sarki:URLRequest = new URLRequest(”muzik.mp3″);
ses.load(sarki);

Şimdi de müziğin kontrolünü sağlamak, yani oynatmak ve durdurmak gibi özellikler için kullanacağımız kanalı tanımlayalım ve daha sonra müziği oynatmak için komut verelim.

var kanal:SoundChannel = new SoundChannel();
kanal = ses.play();

Şuana kadar yaptıklarımızla en basit şekilde sesi çekip oynatmayı gördük. Fakat bu şekilde kullanım (yani sesin yüklenmesi işleminin bitmesini beklemeden oynatmak) tıkanmalara ya da bazı hatalara sebep olabilir. O yüzden ses adlı değişkene bir dinleyici ekleyerek kontrolü sağlamakta fayda var. Kodumuzu şu şekilde düzenliyoruz:

var ses:Sound = new Sound();
var sarki:URLRequest = new URLRequest(”muzik.mp3″);
ses.load(sarki);
var kanal:SoundChannel = new SoundChannel();
ses.addEventListener(Event.COMPLETE, sesiOynat);
function sesiOynat(e:Event):void {
kanal = ses.play();
trace(”Yüklendi”);
}

Bununla birlikte ses yüklenirken basit bir preload’ın nasıl oluşturulacağını görelim:

İlk olarak 300 px genişliğinde bar_mc adlı bir movieclip oluşturalım ve bunu sahnenin tam ortasına yerleştirelim. Hemen altına da yuzde_txt adlı dynamic text alanı oluşturalım.



Şimdi sıra kodlarda. ses olarak tanımladığımız değişkene, yüklenirkenki yapılacakların gerçekleştirilmesini sağlayan bir dinleyici ekleyelim:

ses.addEventListener(ProgressEvent, sesYukle);
function sesYukle(e:ProgressEvent):void {
var yuzde = e.target.bytesLoaded / e.target.bytesTotal;
bar_mc.width = 300 * yuzde;
yuzde_txt.text = “% “+(100*yuzde);
}

Yukarıdaki fonksiyonda önce (yuklenen/toplam) ile oranı hesaplıyoruz. Daha sonra bar_mc klibinin en fazla 0-300 arası ilerlemesini sağlıyoruz. Altına da yukleneni yüzde olarak yazdırıyoruz.

Bu haliyle basit olarak bir preload oluşturmuş olduk. Son olarak kodumuzu toparlarsak:


var ses:Sound = new Sound();
var sarki:URLRequest = new URLRequest(”muzik.mp3″);
ses.load(sarki);
var kanal:SoundChannel = new SoundChannel();
ses.addEventListener(ProgressEvent, sesYukle);
ses.addEventListener(Event.COMPLETE, sesiOynat);
function sesYukle(e:ProgressEvent):void {
var yuzde = e.target.bytesLoaded / e.target.bytesTotal;
bar_mc.width = 300 * yuzde;
yuzde_txt.text = “% “+ Math.floor(100*yuzde);
}
function sesiOynat(e:Event):void {
kanal = ses.play();
bar_mc.visible = false;
yazi_txt.text = “Yüklendi”;
trace(”Yüklendi”);
}

En son olarak da sesin seviyesi, pan gibi özellikleri ayarlayabildiğimiz SoundTransform sınıfını görelim.
Hemen bir örnekle gösterelim:

var sesAyarla:SoundTransform = new SoundTransform();
sesAyarla.volume = .5;
sesAyarla.pan = -1;
kanal.soundTransform = sesAyarla;

Yukarıdaki kod bloğunda ilk olarak sesAyarla adlı SoundTransform sınıfıyla kullansığımız değişkeni oluşturduk ve bu sınıfa ait volume ile pan özelliklerini kullandık.

volume özelliği 0-1 arası değer alır. Biz burada %50 değerini verdik. pan özelliğini ise sesin sadece sol hoparlörden çıkması için (-1 değeri ile) kullandık. (-1,0 ve 1 değerlerini (sol, her ikisi ve sağ) kullanabiliriz.)

En son satırda ise kanalın soundTransform özelliğine sesAyarla değişkenini atayarak ayar için bunu kullanacağımızı söyledik.

Sese ait özellikler bununla sınırlı değil. Daha çok özellik de (mp3 dosyasının ID3 bilgilerini çekmek gibi) kullanılabilir.
Sayfa başına dön Aşağa gitmek
Admin
Admin
Admin
Admin


Erkek Mesaj Sayısı : 114
Yaş : 26
Nerden : Bilgisayar masasının ordanXD
İş/Hobiler : Site açma,Secret foreste girme,animasyon yapmak,oyun yapmak
Lakap : Adminiz İşte Oğlum
Kayıt tarihi : 06/02/09

Actionscript 3 ile Sesin Kontrolü Empty
MesajKonu: Güzel   Actionscript 3 ile Sesin Kontrolü Icon_minitimeSalı Şub. 10, 2009 8:26 pm

Güzel Konu Emeğe saygı
Sayfa başına dön Aşağa gitmek
http://gizli-orman.benimforum.org
 
Actionscript 3 ile Sesin Kontrolü
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» ActionScript 3 ile Diziler
» ActionScript 3 Giriş
» ActionScript 3 Dersleri
» ActionScript 3 Dersleri 2
» ActionScript 3 Dersleri 3

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
www.gizliorman.net :: Flash Dersleri-
Buraya geçin: