Microphone Test
Not working :(
♥0 |
Line 57 |
Modified 2015-03-26 14:21:06 |
MIT License
archived:2017-03-20 05:02:08
ActionScript3 source code
/**
* Copyright phi16 ( http://wonderfl.net/user/phi16 )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/6gWu
*/
package {
import flash.media.Microphone;
import flash.media.MicrophoneEnhancedOptions;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
public class AutoGain extends Sprite {
private var spr:Sprite = new Sprite();
private var mic:Microphone;
private var available:Boolean = false;
private var level:Array=new Array();
private var activ:Array=new Array();
private var r:Number=465/100;
private var sm:Number=0;
public function AutoGain() {
mic = Microphone.getEnhancedMicrophone();
if(mic){
mic.setLoopBack();
var opt:MicrophoneEnhancedOptions=mic.enhancedOptions;
opt.autoGain = true;
mic.enhancedOptions = opt;
available=true;
addChild(spr);
addEventListener(Event.ENTER_FRAME, onFrame);
stage.addEventListener(MouseEvent.CLICK, onClick);
}
}
public function onFrame(e:Event):void{
var i:int=0;
spr.graphics.clear();
spr.graphics.beginFill(0);
spr.graphics.drawRect(0,0,465,465);
spr.graphics.endFill();
level.push(mic.gain);
activ.push(mic.activityLevel);
while(level.length>465)level.shift();
while(activ.length>465)activ.shift();
var d:int=0;
if(level.length<465)d=465-level.length;
spr.graphics.lineStyle(1,0xff7f00);
for(i=0;i<level.length;i++){
spr.graphics.moveTo(i+d,465-activ[i]*r);
spr.graphics.lineTo(i+d,465);
}
spr.graphics.lineStyle(1,0x00ff00);
spr.graphics.moveTo(d,465-level[0]*r);
for(i=0;i<level.length;i++){
spr.graphics.lineTo(i+d,465-level[i]*r);
}
spr.graphics.lineStyle(1,0xff0000);
spr.graphics.moveTo(0,465-mic.silenceLevel*r);
spr.graphics.lineTo(465,465-mic.silenceLevel*r);
}
public function onClick(e:MouseEvent):void{
//mic.gain = (465-mouseY)/r;
}
}
}