1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
creationComplete="application1_creationCompleteHandler(event)">
<fx:Declarations>
<!-- Placer ici les éléments non visuels (services et objets de valeur, par exemple). -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import com.didierbrun.voice.VoiceGesture;
import flash.display.Graphics;
import flash.events.Event;
import flash.media.SoundChannel;
import flash.media.SoundMixer;
import mx.events.FlexEvent;
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
var mic:Microphone=Microphone.getMicrophone();
var vg:VoiceGesture=new VoiceGesture(mic);
vg.startPitch();
mic.addEventListener(SampleDataEvent.SAMPLE_DATA,render);
var tab:Array = new Array();
for(var i:Number=0;i<35;i++)
{
var bar:Barre = new Barre();
tab.push(bar);
container.addElement(bar);
bar.x =i*2;
bar.cacheAsBitmap = true;
}
function render(e:SampleDataEvent):void
{
var vp:int=vg.pitch;
if (vp!=0){
SoundMixer.computeSpectrum(e.data,true,0);
for(var i:Number=0; i<35; i++)
{
var pow:Number = e.data.readFloat();
pow = Math.abs((pow * 200));
tab[i].height=200-pow;
}
}
}
}
]]>
</fx:Script>
<s:BorderContainer x="0" y="0" width="762" height="200" id="container">
</s:BorderContainer>
</s:Application> |
Partager