root/as3/ASound/branches/gamiken/src/example/example4/Example4.as

リビジョン 4669, 2.4 kB (コミッタ: gamiken, コミット時期: 2 ヶ月 前)

mp3対応

Line 
1 package example.example4
2 {
3    
4     import com.kappaLab.asound.instruments.Bass;
5     import com.kappaLab.asound.instruments.Clap;
6     import com.kappaLab.asound.utils.AudioConfig;
7     import com.kappaLab.asound.effects.DelayEffect;
8     import com.kappaLab.asound.instruments.Instrument;
9     import com.kappaLab.asound.filters.ResonatFilter;
10     import com.kappaLab.asound.effects.ReverbEffect;
11    
12     import flash.display.Sprite;
13     import flash.events.SampleDataEvent;
14    
15     //import com.flashdynamix.utils.SWFProfiler
16
17     public class Example4 extends Sprite
18     {
19        
20         public function Example4()
21         {
22             //SWFProfiler.init(this)
23             var r:Instrument = new RandomHarmonics()
24             var r2:Instrument = new RandomHarmonics();
25             var r3:Instrument = new RandomHarmonics();
26             r2.volume = .05;
27             r3.volume = .05;
28             var cl:Instrument = new Clap();
29             var cl2:Instrument = new Clap();
30             var cl3:Instrument = new Clap();
31             cl2.generateEnvelop(0, [.5, 1, 0, 20]);
32             cl3.generateEnvelop(0, [.5, 1, 0, 100]);
33             var b:Instrument = new Bass()
34             r.master.addEventListener(SampleDataEvent.SAMPLE_DATA,onSampleData)
35            
36             r.master.effects.push(new ReverbEffect(r.master, 1000, .2, .8, .9, 10));
37             //r.master.effects.push(new DelayEffect(r.master));
38             //r.effects.push(new DelayEffect(r,1000,1,.3))
39             //r2.effects.push(new DelayEffect(r2))
40             //r3.effects.push(new DelayEffect(r3))
41            
42             function onSampleData(e:SampleDataEvent):void
43             {
44                 var c:int = e.position / AudioConfig.LATENCY;
45                 //trace(c)
46                 var c2:int = c % 2;
47                 var c4:int = c % 4;
48                 var c8:int = c % 8;
49                 var c16:int = c % 16;
50                 var c32:int = c % 32;
51                 var c64:int = c % 64;
52                 /**/
53                 if (c8 == 0) r.play();
54                 if (c8 == 4) r2.play();
55                 if (c8 == 0) cl2.play();
56                 if (c4 == 2) { if (Math.random() > .6) cl3.play() };
57                 if (c4 == 0) { if (Math.random() > .6) cl2.play() };
58                 if (c4 == 0) { if (Math.random() > .8) r3.play() };
59                 if (c32 == 0) cl.play();
60                 /**/
61             }
62         }
63        
64     }
65    
66 }
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。