apac54
🏅Acemi Tasarımcı🏅
Flashta MP3player yapımı
ilk önce bir mp3player adında bir sınıf oluşturacağız ve sonra sarkiListesi adında bir dize oluşturacağız. daha sonra da aktifSarki adında bir değişken yapıp değerini 0 yapacağız bunu yaparak ilerde oncekişarkı sonraki şarkı gibi metotları tanımlamamıza yardımc olur.
class MP3Player extends Sound {
/*
sınıf oluşturacağımız için class kodunu yazdık.
mp3player yapacağımız için sound sınıfının metotlarını kullanmalıyız bunun için extends kodu ile sound sınıfının metotlarını aldık
*/
public var sarkiListesi:Array=["Rock.mp3","Pop.mp3","Klasik.mp3","Jazz.mp3"];
/*
bir şarkı listesi adında bir değişken tanımlıyıp veri türünü array yaptık ve değerlerini yazdık
*/
var aktifSarki:Number=0;
sonrada sıradaki bir şarkıyı oynatmak amacı ile siradaKisarki adında bir metot oluşturuyoruz. tek tek açıklıyım satırları
public function siradakiSarki( ):Boolean {
/*
buradaki fonksiyonda dışarıdan şarkı nın değiştirilmesi için public anahtar sözcüğü ile fonksiyon tanımladık ve veri türünü true false değere sahip olan boolean veri türüne yaptık
*/
if (aktifSarki < sarkiListesi.length ) {
/*
burada if ile eğer aktifşarkı sarkı listesi uzunluğundan küçükse yani 4 sayısından küçükse sıradaki şarkı oynatılsın dedik buraya 4 sayısını yazsak ta olurdu oynatılacak metot sonraki şarkı olduğu için aktif şarkının şarkı listesi uzunluğundan fazla olmasını istemedik.
*/
this.loadSound(sarkiListesi[aktifSarki] );
/*
burada sarki listesi nin içindeki aktifSarki değerine sahip şarkıyı oynatmasını istedik.
*/
this.onLoad=oynat;
/*
burada şarkımızın başlamasını sağladık "oynat" metodunu biraz sonra tanımlıyacam.
*/
this.aktifSarki++;
/*
burada siradakiSarki adında ki metot çalıştıktan sonra aktif şarkının 1 değer artırmasını istedik eğer biz bunu tanımlamasaydık aktifSarki sıfır değerinde kalır ve biz bir sonraki şarkıyı oynatamayız.
*/
return true; }else { return false; }
}
/*
boolean veri türünü kullandığım için burada hangisinin yanlış hangisinin doğru olduğunu belirtmek zorundayım mesela return true parametresindeki kodların çalışmasının doğru olduğu yani herşeyin yolunda olduğunu belli ettim.
*/
şimdi oncekiSarki adında bir metot tanımlıyoruz. bazı yerleri diğer metotta açıkladığım için boş bıraktım.
public function oncekiSarki( ):Boolean {
if (this.aktifSarki > 0 )
/* burada sizde anlamışsınızdır aktif şarkının 0 dan büyük olduğu müddetçe çalışmasını istemişizdir.
*/
{
this.loadSound(sarkiListesi[aktifSarki] )
this.onLoad=oynat;
this.aktifSarki--;
/* aktif şarkının değerinin 1 değer azalmasını istedik */
return true;
}else { return false; } }
şimdi rasgele oynat adında bir metot tanımlıyoruz.
public function rasgeleOynat( )tring {
/*rasgeleOynat adında String veri türüne ait olan bir metot tanımladık.*/
var rasgele:Number=Math.floor(Math.random( ) * this.sarkiListesi.length );
/*
burada "var" deyimi kullanmamızın amacı değişken oluşturmamızdır. ":Number"
burada veri türünü number yaptık math.floor ise tam sayıya çevirmemizi sağlıyor math.random ile rasgele bi sayı üretmesini bunu 4 ile yani şarkı listesinin uzunluğu ile çarpmasını istedik
*/
this.loadSound(sarkiListesi[rasgele] );
/*
burada oluşan rasgele değeri ne eşit olan şarkı yı oynatmasını yani bunu hiçbirimiz bilemiyoruz gerçide örneğin rasgele "2" sayını buldu demmeki sarkı listesinde 2.sıradaki şarkı olan pop.mp3 adlı şarkı ya oynat demek istiyor.
*/
this.onLoad=oynat;
return sarkiListesi[rasgele];
}
sarkiOynat adında bir metot tanımlıyoruz. satırları tekrar açıklamam gerek yok sanırım
public function sarkiOynat(sarki:Number ):Boolean {
if (this.aktifSarki <= this.sarkiListesi.length ) {
this.loadSound(sarkiListesi[sarki] );
this.onLoad=oynat;
return true;
} else { return false; }
}
şimdide oynat ve durdur adında 2 metot tanımlıyoruz.
public function oynat( ) { this.start(0,1 ); }
/*
burada oynat metodunun sound sınıfının start metotunu kullanıyoruz (0,1 ) yapmamızın amacı şarkını 1 defa oynatılacağını belli etmemiz buraya ( 0,3 )
yazarak şarkının 3 defa oynatılmasını istediğimizdir.
*/
public function durdur( ) { this.stop( ); }
/*
buradaki metot oldukça basit sound sınıfının durma kodunu kullanıyoruz.
*/
şimdi dosyayı MP3Player.as adında kaydedin unutmayın sınıf adları herzaman dosya adı ile aynı olmalı ve uzantısı .as olamlıdır.
şimdi MP3Player.fla adında bir dosya yapın ve Flash 8 kullanıyorsanız window common libraires ten button a tıklayın ve 5 tane buton yapın
1-önceki şarkı için
2-sonraki şarkı için
3-play
4-stop
5-rasgele oynat
şimdi ilk frame tıklayın ve aşağıdaki kodları yazın
muzikKutusu=new MP3Player ( );
muzikKutusu.siradakiSarki( );
1.satırda/* muzikKutusu adında ki değişkeni tanımladık */
2.satırda/* muzikKutusu değişkeni içindeki yani MP3Player sınıfındaki siradakiSarki adındaki metotu çalıştırmayı istedik */
şimdi oncekiSarki butonunu tanımlıyacağız
on(press ) {
durum=muzikKutusu.oncekiSarki( );
if(durum ){
trace("bir önceki şarkı oynatılıyor." );
}else { trace("oynatılacak bir önceki şarkı bulunmamakta" ); }
}
on(press ) burada butona basıldığı zaman { }içerisindeki komutları çalıştır diyoruz
if(durum ){ trace("bir önceki şarkı oynatılıyor." );
burada dediğimiz şey burada eğer durum değişkeni olumluysa ( burayı pek anlatamıadım galiba ) yani oncekiSarki metodu çalışırsa outpot a ( bunu trace komutu ile sağlıyoruz ) bir önceki şarkı oynatılıyor yaz eğer böle bişey yoksa ekrana oynatılacak bir şarkı bulunmamakta çıktısını göndersin
siradakiSarki için bir buton yapıyoruz.
on(press ) {
durum=muzikKutusu.siradakiSarki( );
if (durum ) { trace("sıradaki şarkı oynatılıyor." ) }
else { trace("Oynatılacak bir sonraki şarkı bulunmamakta" ); }
}
şarkıyı durdurmak için durdur butonunu yapıyoruz.
on(press ) {
muzikKutusu.durdur( );
trace("şarkı durduruldu." )
}
şarkı durdurulduğunda geri oynatmak için bir buton tanımlıyoruz
on (press ) {
muzikKutusu.oynat( );
trace("Şarkı oynatılıyor." )
}
şimdi rasgele metodu için bir buton yapıyoruz.
on(press ) {
muzikKutusu.rasgeleOynat( );}
trace("Şu anda "+durum+" adlı şarkı oynatılmakta." )
/* "+durum+" burada rasgeleOynat( ) metodunda belirlenmiş olan şarkıyı yazmamız + işareti ile metni diğer metinlerlen birleştirdik bildiğiniz gibi değişken isimleri " " işaretleri arasına yazılmaz */
biraz karıştığı için kodları buraya tekrar yazıyım:
class MP3Player extends Sound {
public var sarkiListesi:Array=["Rock.mp3","Pop.mp3","Jazz.mp3","Pop.mp3"];
public var aktifSarki:Number=0;
public function oynat( ) { this.start(0,3 ); }
public function durdur( ) { this.stop( ); }
public function sarkiOynat(sarki:Number ):Boolean {
if (this.aktifSarki <= this.sarkiListesi.length ) {
this.loadSound(sarkiListesi[sarki] );
this.onLoad=oynat;
return true;
} else { return false; }
}
public function siradakiSarki( ):Boolean {
if (this.aktifSarki < this.sarkiListesi.length ) {
this.loadSound(sarkiListesi[aktifSarki] );
this.onLoad=oynat;
aktifSarki++;
return true;
} else { return false; }
}
public function oncekiSarki( ):Boolean {
if (this.aktifSarki > 0 ) {
this.loadSound(sarkiListesi[aktifSarki] )
this.onLoad=oynat;
this.aktifSarki--;
return true;
}else { return false; } }
public function rasgeleOynat( )tring {
var rasgele:Number=Math.floor(Math.random( ) * this.sarkiListesi.length );
this.loadSound(sarkiListesi[rasgele] );
this.onLoad=oynat;
return sarkiListesi[rasgele];
}}
play butonu :
on (press ) {
muzikKutusu.oynat( );
trace("Şarkı oynatılıyor." )
}
siradakiSarki butonu
on(press ) {
durum=muzikKutusu.siradakiSarki( );
if (durum ) { trace("sıradaki şarkı oynatılıyor." ) }
else { trace("Oynatılacak bir sonraki şarkı bulunmamakta" ); }
}
oncekiSarki butonu
on(press ) {
durum=muzikKutusu.oncekiSarki( );
if(durum ){
trace("bir önceki şarkı oynatılıyor." );
}else { trace("oynatılacak bir önceki şarkı bulunmamakta" ); }
}
stop butonu
on(press ) {
muzikKutusu.durdur( );
trace("şarkı durduruldu." )
}
rasgele butonu
on(press ) {
muzikKutusu.rasgeleOynat( );
trace("Şu anda "+durum+" adlı şarkı oynatılmakta." )
}
son bir not daha MP3Player.as ve MP3Player.fla dosyalarının içinde dizi değişkeninde tanımladığımız mp3leri yazınız mesala rasgele 4 mp3 ü alıp aynı dosya içine koyup adlarını Pop.mp3 Rock.mp3 şeklinde değiştirin.
Şimdi Mp3 Player'ınızı Rahatlıkla Kullanabilirsinizarty:
ilk önce bir mp3player adında bir sınıf oluşturacağız ve sonra sarkiListesi adında bir dize oluşturacağız. daha sonra da aktifSarki adında bir değişken yapıp değerini 0 yapacağız bunu yaparak ilerde oncekişarkı sonraki şarkı gibi metotları tanımlamamıza yardımc olur.
class MP3Player extends Sound {
/*
sınıf oluşturacağımız için class kodunu yazdık.
mp3player yapacağımız için sound sınıfının metotlarını kullanmalıyız bunun için extends kodu ile sound sınıfının metotlarını aldık
*/
public var sarkiListesi:Array=["Rock.mp3","Pop.mp3","Klasik.mp3","Jazz.mp3"];
/*
bir şarkı listesi adında bir değişken tanımlıyıp veri türünü array yaptık ve değerlerini yazdık
*/
var aktifSarki:Number=0;
sonrada sıradaki bir şarkıyı oynatmak amacı ile siradaKisarki adında bir metot oluşturuyoruz. tek tek açıklıyım satırları
public function siradakiSarki( ):Boolean {
/*
buradaki fonksiyonda dışarıdan şarkı nın değiştirilmesi için public anahtar sözcüğü ile fonksiyon tanımladık ve veri türünü true false değere sahip olan boolean veri türüne yaptık
*/
if (aktifSarki < sarkiListesi.length ) {
/*
burada if ile eğer aktifşarkı sarkı listesi uzunluğundan küçükse yani 4 sayısından küçükse sıradaki şarkı oynatılsın dedik buraya 4 sayısını yazsak ta olurdu oynatılacak metot sonraki şarkı olduğu için aktif şarkının şarkı listesi uzunluğundan fazla olmasını istemedik.
*/
this.loadSound(sarkiListesi[aktifSarki] );
/*
burada sarki listesi nin içindeki aktifSarki değerine sahip şarkıyı oynatmasını istedik.
*/
this.onLoad=oynat;
/*
burada şarkımızın başlamasını sağladık "oynat" metodunu biraz sonra tanımlıyacam.
*/
this.aktifSarki++;
/*
burada siradakiSarki adında ki metot çalıştıktan sonra aktif şarkının 1 değer artırmasını istedik eğer biz bunu tanımlamasaydık aktifSarki sıfır değerinde kalır ve biz bir sonraki şarkıyı oynatamayız.
*/
return true; }else { return false; }
}
/*
boolean veri türünü kullandığım için burada hangisinin yanlış hangisinin doğru olduğunu belirtmek zorundayım mesela return true parametresindeki kodların çalışmasının doğru olduğu yani herşeyin yolunda olduğunu belli ettim.
*/
şimdi oncekiSarki adında bir metot tanımlıyoruz. bazı yerleri diğer metotta açıkladığım için boş bıraktım.
public function oncekiSarki( ):Boolean {
if (this.aktifSarki > 0 )
/* burada sizde anlamışsınızdır aktif şarkının 0 dan büyük olduğu müddetçe çalışmasını istemişizdir.
*/
{
this.loadSound(sarkiListesi[aktifSarki] )
this.onLoad=oynat;
this.aktifSarki--;
/* aktif şarkının değerinin 1 değer azalmasını istedik */
return true;
}else { return false; } }
şimdi rasgele oynat adında bir metot tanımlıyoruz.
public function rasgeleOynat( )tring {
/*rasgeleOynat adında String veri türüne ait olan bir metot tanımladık.*/
var rasgele:Number=Math.floor(Math.random( ) * this.sarkiListesi.length );
/*
burada "var" deyimi kullanmamızın amacı değişken oluşturmamızdır. ":Number"
burada veri türünü number yaptık math.floor ise tam sayıya çevirmemizi sağlıyor math.random ile rasgele bi sayı üretmesini bunu 4 ile yani şarkı listesinin uzunluğu ile çarpmasını istedik
*/
this.loadSound(sarkiListesi[rasgele] );
/*
burada oluşan rasgele değeri ne eşit olan şarkı yı oynatmasını yani bunu hiçbirimiz bilemiyoruz gerçide örneğin rasgele "2" sayını buldu demmeki sarkı listesinde 2.sıradaki şarkı olan pop.mp3 adlı şarkı ya oynat demek istiyor.
*/
this.onLoad=oynat;
return sarkiListesi[rasgele];
}
sarkiOynat adında bir metot tanımlıyoruz. satırları tekrar açıklamam gerek yok sanırım
public function sarkiOynat(sarki:Number ):Boolean {
if (this.aktifSarki <= this.sarkiListesi.length ) {
this.loadSound(sarkiListesi[sarki] );
this.onLoad=oynat;
return true;
} else { return false; }
}
şimdide oynat ve durdur adında 2 metot tanımlıyoruz.
public function oynat( ) { this.start(0,1 ); }
/*
burada oynat metodunun sound sınıfının start metotunu kullanıyoruz (0,1 ) yapmamızın amacı şarkını 1 defa oynatılacağını belli etmemiz buraya ( 0,3 )
yazarak şarkının 3 defa oynatılmasını istediğimizdir.
*/
public function durdur( ) { this.stop( ); }
/*
buradaki metot oldukça basit sound sınıfının durma kodunu kullanıyoruz.
*/
şimdi dosyayı MP3Player.as adında kaydedin unutmayın sınıf adları herzaman dosya adı ile aynı olmalı ve uzantısı .as olamlıdır.
şimdi MP3Player.fla adında bir dosya yapın ve Flash 8 kullanıyorsanız window common libraires ten button a tıklayın ve 5 tane buton yapın
1-önceki şarkı için
2-sonraki şarkı için
3-play
4-stop
5-rasgele oynat
şimdi ilk frame tıklayın ve aşağıdaki kodları yazın
muzikKutusu=new MP3Player ( );
muzikKutusu.siradakiSarki( );
1.satırda/* muzikKutusu adında ki değişkeni tanımladık */
2.satırda/* muzikKutusu değişkeni içindeki yani MP3Player sınıfındaki siradakiSarki adındaki metotu çalıştırmayı istedik */
şimdi oncekiSarki butonunu tanımlıyacağız
on(press ) {
durum=muzikKutusu.oncekiSarki( );
if(durum ){
trace("bir önceki şarkı oynatılıyor." );
}else { trace("oynatılacak bir önceki şarkı bulunmamakta" ); }
}
on(press ) burada butona basıldığı zaman { }içerisindeki komutları çalıştır diyoruz
if(durum ){ trace("bir önceki şarkı oynatılıyor." );
burada dediğimiz şey burada eğer durum değişkeni olumluysa ( burayı pek anlatamıadım galiba ) yani oncekiSarki metodu çalışırsa outpot a ( bunu trace komutu ile sağlıyoruz ) bir önceki şarkı oynatılıyor yaz eğer böle bişey yoksa ekrana oynatılacak bir şarkı bulunmamakta çıktısını göndersin
siradakiSarki için bir buton yapıyoruz.
on(press ) {
durum=muzikKutusu.siradakiSarki( );
if (durum ) { trace("sıradaki şarkı oynatılıyor." ) }
else { trace("Oynatılacak bir sonraki şarkı bulunmamakta" ); }
}
şarkıyı durdurmak için durdur butonunu yapıyoruz.
on(press ) {
muzikKutusu.durdur( );
trace("şarkı durduruldu." )
}
şarkı durdurulduğunda geri oynatmak için bir buton tanımlıyoruz
on (press ) {
muzikKutusu.oynat( );
trace("Şarkı oynatılıyor." )
}
şimdi rasgele metodu için bir buton yapıyoruz.
on(press ) {
muzikKutusu.rasgeleOynat( );}
trace("Şu anda "+durum+" adlı şarkı oynatılmakta." )
/* "+durum+" burada rasgeleOynat( ) metodunda belirlenmiş olan şarkıyı yazmamız + işareti ile metni diğer metinlerlen birleştirdik bildiğiniz gibi değişken isimleri " " işaretleri arasına yazılmaz */
biraz karıştığı için kodları buraya tekrar yazıyım:
class MP3Player extends Sound {
public var sarkiListesi:Array=["Rock.mp3","Pop.mp3","Jazz.mp3","Pop.mp3"];
public var aktifSarki:Number=0;
public function oynat( ) { this.start(0,3 ); }
public function durdur( ) { this.stop( ); }
public function sarkiOynat(sarki:Number ):Boolean {
if (this.aktifSarki <= this.sarkiListesi.length ) {
this.loadSound(sarkiListesi[sarki] );
this.onLoad=oynat;
return true;
} else { return false; }
}
public function siradakiSarki( ):Boolean {
if (this.aktifSarki < this.sarkiListesi.length ) {
this.loadSound(sarkiListesi[aktifSarki] );
this.onLoad=oynat;
aktifSarki++;
return true;
} else { return false; }
}
public function oncekiSarki( ):Boolean {
if (this.aktifSarki > 0 ) {
this.loadSound(sarkiListesi[aktifSarki] )
this.onLoad=oynat;
this.aktifSarki--;
return true;
}else { return false; } }
public function rasgeleOynat( )tring {
var rasgele:Number=Math.floor(Math.random( ) * this.sarkiListesi.length );
this.loadSound(sarkiListesi[rasgele] );
this.onLoad=oynat;
return sarkiListesi[rasgele];
}}
play butonu :
on (press ) {
muzikKutusu.oynat( );
trace("Şarkı oynatılıyor." )
}
siradakiSarki butonu
on(press ) {
durum=muzikKutusu.siradakiSarki( );
if (durum ) { trace("sıradaki şarkı oynatılıyor." ) }
else { trace("Oynatılacak bir sonraki şarkı bulunmamakta" ); }
}
oncekiSarki butonu
on(press ) {
durum=muzikKutusu.oncekiSarki( );
if(durum ){
trace("bir önceki şarkı oynatılıyor." );
}else { trace("oynatılacak bir önceki şarkı bulunmamakta" ); }
}
stop butonu
on(press ) {
muzikKutusu.durdur( );
trace("şarkı durduruldu." )
}
rasgele butonu
on(press ) {
muzikKutusu.rasgeleOynat( );
trace("Şu anda "+durum+" adlı şarkı oynatılmakta." )
}
son bir not daha MP3Player.as ve MP3Player.fla dosyalarının içinde dizi değişkeninde tanımladığımız mp3leri yazınız mesala rasgele 4 mp3 ü alıp aynı dosya içine koyup adlarını Pop.mp3 Rock.mp3 şeklinde değiştirin.
Şimdi Mp3 Player'ınızı Rahatlıkla Kullanabilirsinizarty: