记得以前出那篇AS3波形图教程以后,有几个朋友就在Q上或者其他地方问我
能不能实现麦克风的波形图
当时没试出来就回了句没有
近日突发奇想,做了这么个麦克风波形图显示的DEMO
效果还算可以,有些属性需要设定到一个很小的特定区间内...否则就会出问题
package {
import flash.system.Security;
import flash.display.Sprite;
import flash.events.*;
import flash.media.Microphone;
public class MicTest extends Sprite {
private var Data:Array=new Array(120);
private var Main:Sprite=new Sprite();
private var line:Sprite=new Sprite();
private var mic:Microphone = Microphone.getMicrophone();
public function MicTest() {
stage.frameRate=24;
Main.addChild(line);
addChild(Main);
Security.showSettings("2");
mic.setLoopBack(true);
mic.gain=66;
mic.rate=11;
mic.setUseEchoSuppression(true);
mic.setSilenceLevel(1,-1);
for (var i:Number=0; i<120; i++) {
Data[i]=0;
}
this.addEventListener(Event.ENTER_FRAME,activity);
}
private function activity(events:Event):void {
line.graphics.clear();
line.graphics.lineStyle(1,0x2AEAEB,100);
line.graphics.moveTo(0,120);
Data.shift();
Data.push(mic.activityLevel);
for (var i:Number=0; i<120; i++) {
line.graphics.lineTo(i*3,120-Data[i]*2);
}
}
}
}
admin#flashas.net (#为@) 联系QQ:
:40777822
浙ICP备06033001号