想了解一下C#中怎样合成声音,比如生成正弦波,方波,集合波,白澡声等波形,然后播放出来。
自己也查了一下,C#好像没有可以生成声音的函数,请各路高手指点一下。
在网上找到了ActionScript合成声音的示例,不知C#可不可以呀?
import flash.media.Sound;
import flash.events.SampleDataEvent;
import flash.events.MouseEvent;
var position:int = 0;
var sound:Sound = new Sound();
sound.addEventListener(SampleDataEvent.SAMPLE_DATA, onSampleData);
sound.play();
function onSampleData(event:SampleDataEvent):void
{
for(var i:int = 0; i < 2048; i++)
{
var phase:Number = position / 44100 * Math.PI * 2;
position ++;
var sample:Number = Math.sin(phase);
event.data.writeFloat(sample); // left
event.data.writeFloat(sample); // right
}
}