root/as3/Study/SoundStudy/soundStudy.as

リビジョン 74, 1.1 kB (コミッタ: fladdict, コミット時期: 5 年 前)

--

Line 
1 package {
2         import de.popforge.audio.output.Audio;
3         import de.popforge.audio.output.AudioBuffer;
4        
5         import flash.display.Sprite;
6         import flash.events.Event;
7        
8         import net.fladdict.mml.MML;
9         import net.fladdict.mml.MMLParser;
10
11         public class soundStudy extends Sprite
12         {
13                 public var buffer:AudioBuffer
14                 public var mml:MML
15                
16                 //1フレーム理論値1470配列、多分5000回分も計算すればきれいに演奏できる…はず
17                 public function soundStudy()
18                 {
19                         start();
20                 }
21                
22                 public function start():void
23                 {
24                         buffer = new AudioBuffer(16, Audio.MONO, Audio.BIT8, Audio.RATE22050);
25                         buffer.onInit = bufferInit;
26                         buffer.onStart = bufferStart;
27                         buffer.onComplete = bufferComplete;
28                        
29                         mml = MMLParser.parse("t120o3l8c.el4<c>dref;eef+rg+a", buffer);
30                 }
31                
32                
33                 protected function bufferInit(bufer:AudioBuffer):void
34                 {
35                         buffer.start();
36                 }
37                
38                
39                 protected function bufferStart(buffer:AudioBuffer):void
40                 {
41                        
42                 }
43                
44                
45                 protected function bufferComplete(buffer:AudioBuffer):void
46                 {
47                         var samples:Array = buffer.getSamples();
48                         mml.update(samples)
49                         buffer.update();
50                 }
51         }
52 }
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。