Soru - Cevap Bölümü
/ Kategori: Programlama
16/03/2008 - 05:34:36 cevap (1) Okunma : 420 Bu yazıyı 0 kişi tuttu.
Compute Spectrum [AS3]
Gerçek zamanlı bir ekolayzırınız olsun mu istediniz? Bunun için AS3 ile gelen SoundMixer sınıfını kullanabilirsiniz.Bu sınıf Flash içindeki seslerin şiddetlerini size gösterebiliyor.Siz de bu titreşimler ile isterseniz sadece aşağı yukarı oynayan barlar ya da MediaPlayer’daki gibi manyak manyak animasyonlar hazırlayabilirsiniz :)
Size kolaylık olsun diye ufak bir sınıf hazırladım:)
Dosya adı: ComputeSpectrum.as:
package {
/////////By Gazing
import flash.media.SoundMixer;
import flash.utils.ByteArray;
///////////////////////////////
public class ComputeSpectrum {
var ses_byte:ByteArray = new ByteArray();
//
var i:int=0;
var t:Number=0;
//
var sound_bass:Number=0;
var sound_mid:Number =0;
var sound_high:Number=0;
//
//
public function ComputeSpectrum() {
}
public function getSounds():Array {
//
var a_:Array = new Array(3);
//
SoundMixer.computeSpectrum(ses_byte, true);
sound_bass = 0;
sound_mid = 0;
sound_high = 0;
for (i = 0; i<512; i+=2) {
t = ses_byte.readFloat();
if (i <100>= 100 && i <350>= 350) {
sound_high += t*5;
}
}
//
a_[0]=sound_bass;
a_[1]=sound_mid;
a_[2]=sound_high;
//
return a_;
}
}
}
Bu dosya olarak elimizde dursun.Yeni bir fla dosyası açın.Tabi kodlaması AS3 olmalı.
Birinci kareye şu kodları yazın:
function oynat(e:Event) {
var titresimler:Array = cs.getSounds();
trace("Bass Şiddeti: "+ titresimler[0]);
}
addEventListener(Event.ENTER_FRAME,oynat);
//
var cs:ComputeSpectrum = new ComputeSpectrum();
//
var s:Sound = new Sound(new URLRequest("sarki.mp3″));
s.play();
Çalışmayı test ettiğinizde çalan şarkının bass değerlerini göreceksiniz. Sınıfı kullanmak çok kolay.
Önce tanımlıyorsunuz:
var cs:ComputeSpectrum = new ComputeSpectrum();
Ve ses titreşimlerini almak için:
var titresimler:Array = cs.getSounds();
Diyorsunuz.Bu durumda:
- Bass sesleri: titresimler[0];
- Orta şiddet sesleri: titresimler[1];
- Yüksek şiddet sesleri: titresimler[2];
Buradan dosyayı inceleyebilir ve indirebilirsiniz… Kolay Gelsin…
Cevaplar
( Faydalı Cevapları Göster )
Etkinlikler
Yarışma
Fikir10000 Dijital Pazarlama Fikir Yarışması
Fikir10000 Dijital Pazarlama Fikir Yarışması
ADTECH tarafından düzenlenen Fikir10000 yarışmasına; dijital pazarlama ile ilgili size ait olan fikrinizle katılabilir ve 10.000 YTL’lik birinci...
Kategori:
Yarışma
Kimler Burada? 
Son 1 dakika içinde MMIstanbul' da 574 (0 kayıtlı, 574 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:
MMIstanbul Blog'undan
Neler Yapılabilir?
Yeni bir portal, 30 civarında online / offline etkinlik, seminer vb rağmen MMIstanbul sanıyoruz ki halen hakettiği ilgiyi göremedi. " ...
500 Hatası Hakkında!
Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)
Ne Nedir Kampanyası Başlıyor!
Çok Merak Edenler için; MMIstanbul Geliştirme Ekibi ve Çalışma Ortamımız








galibam dosya yerinde degil yağız kardeşim :D