none
C# 声音合成 RRS feed

  • 问题

  •  想了解一下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
            }
    }

    2012年4月23日 16:41

答案