2011-04-05 22 views
5

Biraz araştırdık ve ben flaş üzerinde dinamik ses üretmek için bir yol keşfetti: örneğin 100Hz için,Kesin frekanslar nasıl yanıp söndürülür?

import flash.media.Sound; 

var mySound:Sound = new Sound(); 

mySound.addEventListener(SampleDataEvent.SAMPLE_DATA, sineGenerateSound); 

mySound.play(); 

function sineGenerateSound(event:SampleDataEvent):void{ 

for(var i:int=0;i<4092;i++){ 

    var n:Number = Math.sin((i+event.position)/Math.PI/4); 
    event.data.writeFloat(n) 
    event.data.writeFloat(n) 
} 
} 

Sadece ben gereken tam frekansı üretmek hale nasıl bilmek istiyorum .

Teşekkürler!

cevap

8

varsayarsak 44,1 örnek oranı: blogumda Flash ses sentez konudaki birçok yazı yazdım

var freq:Number = 100; // example, 100 Hz, set this somewhere outside the for loop 
var n:Number = Math.sin((i+event.position)*freq*2.0*Math.PI/44100.0); 
+0

çok teşekkür ederiz! Bu site muhteşem, teşekkürler! – Lucas

+0

Lucas, burada yeni görünüyorsun. Bir cevabı kabul edildiği şekilde işaretlemek için, yanındaki onay kutusunu işaretleyin. Bunu yapmak, size yardım eden kişiye itibar puanlarını ödüllendirecektir. – JeremyFromEarth

+0

görev tamamlandı =) Teşekkürler! – Lucas