本文介绍了如何合成闪存的准确频率?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我研究了一下,我发现了一个方法来产生声音的动态闪光灯:

I've researched a bit and I discovered a way to generate sounds dynamically on flash:

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)
 } 
}

我只是想知道的我怎么可以使它产生精确的频率,我需要,例如为100Hz。

I would just like to know how I can make it generate the exact frequency I need, for example 100Hz.

谢谢!

推荐答案

假设44.1kHz的采样率:

Assuming 44.1kHz sample rate:

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);

这篇关于如何合成闪存的准确频率?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-18 15:24